我想在网格GXT上添加新列,我这样做了,但是当我尝试按此列排序网格时,所有数据都会被删除并显示:
IllegalArgumentException:property不能为null或为空
在此之后,我尝试将数据索引xxx设置为列配置,在这种情况下,我有另一个例外:
无法在名为
的网格商店属性中找到
这是我动态添加新列的代码:
@Override
public List<ColumnConfig> getTableColumns() {
List<ColumnConfig> tableColumns = super.getTableColumns();
ColumnConfig downloadLink = new ColumnConfig();
downloadLink.setRenderer(new GridCellRenderer() {
@Override
public Object render(ModelData modelData, String s, ColumnData columnData, int i, int i1, ListStore listStore, Grid grid) {
if (modelData.get("uuid")!=null) {
Anchor anchor = new Anchor();
anchor.setHref(GWT.getModuleBaseURL() + "download?uuid=" + modelData.get("uuid"));
anchor.setName("name");
anchor.setText("Download");
return anchor;
}else{
return "N/A";
}
}
});
downloadLink.setWidth(100);
downloadLink.setHeader("Download");
// downloadLink.setDataIndex("downloadLink");
tableColumns.add(downloadLink);
return tableColumns;
}
如何使新列可以排序?
答案 0 :(得分:1)
grid.reconfigure可用于更改列。
final ColumnModel<Stock> cm2 = new ColumnModel<Stock>(columns);
grid.reconfigure(store, cm2);