如何在CellTable中完全禁用行选择?

时间:2012-05-04 18:43:28

标签: java gwt

我希望在CellTable中选择行时完全查看更新。如何才能做到这一点?在以下测试用例中,使用NoSelectionModel,视图仍然更新:单击一行会更改行的背景和边框颜色,直到单击另一行。

    CellTable<String> table = new CellTable<String>();

    TextColumn<String> column = new TextColumn<String>()
    {
        @Override
        public String getValue(String string)
        {
            return string;
        }
    };

    table.addColumn(column);

    List<String> sampleData = Arrays.asList("foo", "bar", "baz");

    table.setRowData(sampleData);

    final NoSelectionModel<String> selectionModel = new NoSelectionModel<String>();
    table.setSelectionModel(selectionModel);

    RootPanel.get().add(table);

我还尝试使用空覆盖方法对SingleSelectionModel进行子类化,但没有成功。

我可以通过为所选行提供空CSS stylings来伪造我想要的行为,但该方法似乎很糟糕。

1 个答案:

答案 0 :(得分:13)

您所看到的是键盘选择突出显示(当您不使用鼠标与桌面交互时非常有用)。
您可以使用setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED)

停用它