我想在GXT Grid中更改单元格的背景颜色,我正在使用GXT 3.0。我有一个与我的查询相关的链接(http://ui-programming.blogspot.in/2010/01/gxt-how-to-set-cell-grid-background.html)但是setRenderer方法在GXT 3.0中不存在columnConfig我如何获得所需的输出? pLz帮助。
我现在做的代码: -
ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
changeCol.setCell(new AbstractCell<Double>() {
@Override
public void render(Context context, Double value, SafeHtmlBuilder sb) {
if (value == null) {
return;
}
store.get(context.getIndex());
GWT.log(DOM.getCaptureElement().getId());
String style = "style='background-color: " + (value < 0 ? "red" : "green") + "'";
String v = number.format(value);
sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
}
});
答案 0 :(得分:1)
对于那些需要根据网格中的数据更改单元格颜色的人,我只需要这样做(GXT 3.1),但不幸的是解决方案并不完美。
通常,可以使用ColumnConfig.setCell(MyCell)
进行自定义单元格渲染,其中“MyCell”是AbstractCell
的子类。不幸的是,主机'div'中存在'填充'的问题,这个问题没有着色。这有几种方法...
最简单的方法是:
ColumnConfig.setCellPadding(false)
不幸的是,这不适合单细胞选择(CellSelectionModel
)。用于单元格选择的css类被混淆,因此无法在其他样式表中引用它。 :(
我的(丑陋)替代是呈现在模块的html页面中链接的自定义样式表(例如Main.html)。然后我可以使用css'class'而不是'style'属性为单元格着色。 IE:
td.someClass
(.someClass
不够具体)Grid.getView().setViewConfig()
提供返回相应类别的GridViewConfig
不幸的是,这需要熟悉CSS规则,并且还需要在用户登录时知道可能的颜色。
使用'td'元素的style属性可能有第三种方式。从Sencha看看这个问题: http://www.sencha.com/forum/showthread.php?289347-Influencing-cell-td-style-in-a-grid&p=1057079(正在进行中)
请注意其他样式选项包括:
ColumnConfig.setXxxClassName()
ColumnConfig.setXxxStyle()