GWT cellTable单元格的动态样式

Max*_*Max 1 css gwt celltable

我在使用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;
        }
    };
Run Code Online (Sandbox Code Playgroud)

我已经在调试模式下检查了正确应用"editButtonCell"样式.但是在生成的HTML中,每次为FIRST ROW都缺少样式......它看起来像一个GWT错误,但也许你们有更好的解释.

Tho*_*yer 7

我没有检查过,但很可能在getValue调用时已经生成了单元格的开放,因此setCellStyleNames仅适用于列中的其余单元格.

正确的方法是覆盖 getCellStyleNames列以返回CSS类名称,具体取决于单元格值.


顺便说一下,你可以IdentityColumn随着时间的getValue推移而变得微不足道.