一切都是有可能在颜色SmartGWT的listGrid一定行? 我要的颜色只有1行,不是所有的listGrid
Answer 1:
在SmartGWT的,与风格End方法(EG-获取样式,getBaseStyle,getCellStyle等)需要返回别处定义的CSS类(.css文件,在应用负载JSP内联CSS等)。
这同样适用于套样式的方法。
除非大量的自定义CSS的完成warranting需要这样,使用getCellCSSText很可能是最好的选择。
getCellCSSText返回每个小区CSS文本,每重绘时将被调用。
final ListGrid resultsGrid = new ListGrid() {
@Override
protected String getCellCSSText(ListGridRecord record, int rowNum, int colNum) {
String style = super.getCellCSSText(record, rowNum, colNum);
// conditions can check values in record using rowNum, colNum as well as record attributes
if (record.getAttribute("<grid-field-name>").equals(<value>)) {
if (this.getFieldName(colNum).equals("<certain-grid-field-name>") && record.getAttribute("<grid-field-name>").equals(<specific-value>)) {
style = "font-weight:bold"; // only that cell in that row becomes bold
} else {
style = "color:red"; // all other cells in that row become red
}
} else if (record.getAttribute("<other-grid-field-name>").equals(<value>)) {
style = "color:green"; // entire row changed to green if one column in this row contain a specific value
}
return style;
}
};
它不需要如上面链接展示样品中所指出的,除非有其他的理由这样做,延长ListGridRecord。
Answer 2:
没用过SmartGWT的,但看的JavaDoc,我会说:
listGrid.getRecord(recordNum)
-
setCustomStyle(String customStyle)
-
setAttribute(String property, BaseClass value)
也检出这样 ,它覆盖getBaseStyle()
的的ListGrid
。
文章来源: SmartGWT: is it possible to color a a certain row in a list grid?