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
的继承来完成这项工作。
我希望有一个更简单的解决方案,但至少它是一个。
在 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
的继承来完成这项工作。
我希望有一个更简单的解决方案,但至少它是一个。