Gwt SelectionCell中的默认选项

Gwt SelectionCell中的默认选项,gwt,Gwt,当我将字符串列表传递给selectionCell时,第一个元素将被选择为默认值,如何更改默认值?例如,在运行时,我希望将index=I处的项作为默认值 无法在该单元格中设置索引 这里只能使用字符串 SelectionCell statusOptionsCell = new SelectionCell(statusType); Column<InvitedUser, String> statusColumn = new Column<Object, String&

当我将字符串列表传递给selectionCell时,第一个元素将被选择为默认值,如何更改默认值?例如,在运行时,我希望将
index=I
处的项作为默认值

无法在该单元格中设置索引

这里只能使用字符串

SelectionCell statusOptionsCell = new SelectionCell(statusType);
        Column<InvitedUser, String> statusColumn = new Column<Object, String>(
                statusOptionsCell) {

            @Override
            public String getValue(Object object) {
                return object.getStatus();  //value set at runtime
            }
        };
SelectionCell status选项cell=新的SelectionCell(statusType);
列状态列=新列(
状态选项(单元格){
@凌驾
公共字符串getValue(对象){
return object.getStatus();//在运行时设置的值
}
};
如果只需要数组,那么

String[] myaaray= {"one","two","three"};



  SelectionCell statusOptionsCell = new SelectionCell(statusType);
            Column<InvitedUser, String> statusColumn = new Column<Object, String>(
                    statusOptionsCell) {

                @Override
                public String getValue(Object object) {
                    return st[1];  //pass integer as i here at runtime
                }
            };
String[]myaaray={“一”、“二”、“三”};
SelectionCell Status选项Cell=新建SelectionCell(statusType);
列状态列=新列(
状态选项(单元格){
@凌驾
公共字符串getValue(对象){
返回st[1];//在运行时将整数作为i传递到此处
}
};

选择单元格用于单元格小部件中。以CellTable为例。在单元格表中,每行对应一条记录,即模型/POJO。每列对应于模型/POJO中的一个属性。因此,选择单元列应绑定到模型中的一个属性

在将该模型提供给单元格表之前,将该属性的值设置为您想要的默认值


一旦您设置了模型的属性,它的所有单元格表和co的责任就是在选择单元格中设置值。

我有一个在运行时更改SelectionCell值的实际示例。我想为每一行执行一系列可能的操作。选择(并执行)操作后,我希望将select设置回其默认值

ArrayList<String> options = new ArrayList<String>();
options.add("Choose...");
options.add("Action 1");
options.add("Action 2");

final SelectionCell cell = new SelectionCell(options);

Column<MyObject, String> column = new Column<MyObject, String>(cell) {
    @Override
    public String getValue(MyObject object) {
        return null;
    }
};

column.setFieldUpdater(new FieldUpdater<MyObject, String>() {
    @Override
    public void update(final int index, MyObject object, String value) {
        // perform selected action
        // action name is stored in the `value` parameter
        // ...

        // back to default value
        cell.clearViewData(object);

        // ... or back to other value
        // cell.setViewData(object, "Action 1");

        table.redrawRow(index);
    }
});

table.addColumn(column, "Test");
ArrayList options=new ArrayList();
选项。添加(“选择…”);
选项。添加(“行动1”);
选项。添加(“行动2”);
最终选择单元=新选择单元(选项);
列=新列(单元格){
@凌驾
公共字符串getValue(MyObject对象){
返回null;
}
};
column.setFieldUpdater(新的FieldUpdater(){
@凌驾
公共无效更新(最终整数索引、MyObject对象、字符串值){
//执行选定的操作
//操作名称存储在'value'参数中
// ...
//返回默认值
cell.clearViewData(对象);
//…或返回到其他值
//cell.setViewData(对象,“操作1”);
表.重绘行(索引);
}
});
表.添加列(列“测试”);
请注意,该操作已连接到
update
方法,因此仅当所选值已更改时才会触发该操作。它将永远不会使用默认值(
“选择…”
)激发