我想根据CellTable(或DataGrid)中“row”值的值来确定是否使用了图标。如何在构建Cell渲染器时确定?
IconCellDecorator<String> icd = new IconCellDecorator<String>(res.search(), new ClickableTextCell()) {
@Override
protected boolean isIconUsed(String value) {
//value may not be unique across rows (column value), I really need the row instance here.
}
};
答案 0 :(得分:1)
如果您需要行对象,则必须使用IconCellDecorator<RowObject>
,并对ClickableTextCell
进行换行或子类化以提取String
RowObject
。
或者您可以使用CompositeCell
和ImageResourceCell
代替IconCellDecorator
。
答案 1 :(得分:0)
我决定重写IconCellDecorator,以便getImageUsed方法传入Context对象,它给出了行索引和键。这似乎是我想要完成的最直接的事情,尽管托马斯的回答也应该有效。