智能Gwt列表网格:如何检查选定的记录

时间:2011-10-04 14:10:23

标签: gwt smartgwt

我正在使用智能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将数据提供给列表网格它正在工作。 请帮帮我。谢谢你提前

2 个答案:

答案 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);