GXT3 - 根据值更改网格单元格背景颜色(没有 CSS 类)

GXT3 - Change grid cell background color dependent on value (without CSS classes)

在 GXT2 中,可以在 GridCellRenderer 的渲染方法中更改单元格的背景颜色。对于 GXT3,这不再是可能的,suggested 方法是使用 GridViewConfig 并覆盖 getColStyle 方法。

我对这个方法的问题是我不想在这里使用 css 类 而是直接操作单元格的样式,因为所需的背景颜色只在运行时才知道。

我的第一个想法是在 getColStyle 中做类似 grid.getView().getCell(rowIndex, colIndex).getStyle().setBackgroundColor(...) 的事情,但返回的单元格似乎总是 null 这里。

我自己找到了解决办法:

我不得不覆盖 com.sencha.gxt.widget.core.client.grid.GridView#doRender 并将一些自定义 SafeStyles 附加到 model 的单元格依赖项。为了使其更加灵活,我还引入了 GridViewConfig 的继承来完成这项工作。

我希望有一个更简单的解决方案,但至少它是一个。