[英]How to add Celltable Row Dynamically at the end of table in GWT
目前我正在使用以下方法向我的CellTable添加一堆行
public void createTable(){
CellTable table = new CellTable(0,tableResource);
MyDataProvider dataprovider = new MyDataProvider(table);
setDataToList(myDataList);
}
public MyDataProvider extends ListDataProvider<MyModel>{
List<MyModel> dataList = new ArrayList<MyModel>();
public MyDataProvider(CellTable table){
this.addDataDisplay(table);
this.setList(dataList);
}
public void setDataToList(List<MyModel> models){
for(MyModel model: models){
dataList.add(model);
refresh();
}
}
}
我在表中没有看到任何数据。 整个表仍然是空的。
您应该能够将元素添加到ListDataProvider返回的列表中。 然后,在数据提供者上调用refresh()将更改推送到UI。
您还需要将表添加到数据提供者:
dataProvider.addDataDisplay(table);
http://www.gwtproject.org/javadoc/latest/com/google/gwt/view/client/ListDataProvider.html
我认为先更新单元格表的dataProvider,然后再调用refresh即可解决问题。
//add table to data provider do only the 1st time
dataProvider.addDataDisplay(cellTable);
//add new item to the list
dataProvider.getList().add(text);
//flush and refresh dataprovider for it to be updated
dataProvider.flush();
dataProvider.refresh();
//set celltable to new rowdata and row counts
cellTable.setRowData(0, dataProvider.getList());
cellTable.setRowCount(dataProvider.getList().size(), true);
//redraw the table with new data
celltable.redraw();
您可以使用此代码
MyDataProvider.getList().add(new MyModel());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.