1

我在使用 GWT 时遇到问题。我正在构建 cellTable 的列,我希望单元格的样式取决于该单元格的值:

Column<MyProxy, MyProxy> editButtonColumn = new Column<MyProxy, MyProxy>(new ActionCell<MyProxy>("", new ActionCell.Delegate<MyProxy>() {
        @Override
        public void execute(MyProxy record) {
            if (object.isEditable()) {
                doSomething(record);
            }
        }
    })) {
        @Override
        public MyProxy getValue(MyProxy object) {
            if (object.isEditable()) {
                this.setCellStyleNames("editButtonCell");
            }
            return object;
        }
    };

我已经在调试模式下检查了样式“editButtonCell”是否正确应用。但是在生成的 HTML 中,第一行的样式每次都丢失..​​....它看起来像一个 GWT 错误,但也许你们有更好的解释。

4

1 回答 1

7

getValue我还没有检查,但很可能在调用时间之前已经生成了单元格的开口,因此setCellStyleNames仅适用于列中的剩余单元格。

正确的方法是覆盖 getCellStyleNames列以返回 CSS 类名称或不取决于单元格值。


顺便说一句,您可以IdentityColumngetValuethen 变得微不足道时进行扩展。

于 2012-11-13T13:51:09.640 回答