我正在使用智能gwt 2.5列表网格。 在这里我使用复选框进行简单选择。下面是代码:
getGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX);
getGrid().setSelectionType(SelectionStyle.SIMPLE);
我正在使用列表网格的数据源。用于提供调用此方法的数据:
public void setTestData(DataClass[] testData) {
setAttribute("testData", testData, true);
}
我的网格正在正确呈现数据。现在我想根据某些条件设置检查一些记录(行)。让我说我想要检查第1行和第5行。
为此,在将数据提供给数据源后,我编写如下代码来检查数据:
getGrid().selectRecord(1);`
getGrid().selectRecord(5);
但是没有对复选框进行任何检查操作。我没有得到我错误的点。 同样的事情,当我尝试没有数据源,我只是通过setdata将数据提供给列表网格它正在工作。 请帮帮我。谢谢你提前
答案 0 :(得分:4)
当您使用DataSource(包括clientOnly DataSource)时,提取数据是异步的,因此在尚未加载数据时会发生selectRecord()调用。在尝试选择记录之前等待DataArrived。
答案 1 :(得分:0)
为我工作的一项工作是: 我从网格中删除了选择外观和选定的类型,并为复选框选中了一列 如下所示:
NTListGridField customCheckBoxField = new NTListGridField("select", "Select", 25);
customCheckBoxField.setAlign(Alignment.LEFT);
customCheckBoxField.setType(ListGridFieldType.BOOLEAN);
customCheckBoxField.setCanFilter(false);
customCheckBoxField.setCanEdit(true);
customCheckBoxField.setCanToggle(true);
现在选择记录,
record.setAttribute("select", true);