public void insertData(final int row, final T data) {
    int col = 0;

    for (final DataGridColumnDescriptor<T, ?> field : listFields) {
      view.addWidget(field.renderCell(row, data), col++, row);
    }
    view.addWidget(new PSimplePanel(), col, row);
    view.addRowStyle(row, PonySDKTheme.SIMPLELIST_ROW);
  }
 public void insertSubList(final int row, final java.util.List<T> datas) {
   if (datas.isEmpty()) return;
   int subRow = row + 1;
   for (final T data : datas) {
     view.insertRow(subRow); // create a new row after
     view.addRowStyle(subRow, PonySDKTheme.SIMPLELIST_SUBROW);
     int col = 0;
     for (final DataGridColumnDescriptor<T, ?> field : listFields) {
       view.addWidget(field.renderSubCell(subRow, data), col++, subRow);
     }
     view.addWidget(new PSimplePanel(), col, subRow++);
   }
   updateSubListOnRowInserted(row, datas.size());
   // eventBus.fireEvent(new RowInsertedEvent(this, row, datas.size()));
 }
  public SimpleListActivity(
      final SimpleListView listView, final List<DataGridColumnDescriptor<T, ?>> listFields) {
    this.listFields = listFields;
    this.view = listView;

    this.colCount = 0;

    this.view.setColumns(listFields.size());

    for (final DataGridColumnDescriptor<T, ?> field : listFields) {
      listView.addWidget(field.getHeaderCellRenderer().render(), colCount, 0);
      this.colCount++;
    }
    final PSimplePanel widget = new PSimplePanel();
    listView.addWidget(widget, colCount, 0);
    listView.addCellStyle(0, colCount, PonySDKTheme.FILL_COLUMN);
    listView.addHeaderStyle("pony-ComplexList-ColumnHeader");
  }