【发布时间】:2014-10-22 15:36:09
【问题描述】:
我在这里有一个非常基本的示例,我试图根据该单元格中存在的特定字符串值为特定单元格着色。我输入了打印语句,我点击了返回“绿色”,返回“橙色”等......点,但在运行时我只得到灰色和白色交替的行颜色,没有我的特定单元格颜色.我使用的 css 我直接从 vaadin 中提取,认为这很简单。也许我缺少一些小东西。
单元格样式生成器代码:
table.setCellStyleGenerator(new Table.CellStyleGenerator() {
@Override
public String getStyle(Table source, Object itemId, Object propertyId) {
if(propertyId != null ) {
Item item = source.getItem(itemId);
if(item.getItemProperty(propertyId).getValue().getClass() == String.class) {
String cellValue = (String)item.getItemProperty(propertyId).getValue();
if( cellValue.equals("AA") ) {
return "green";
} else if( cellValue.equals("BB") ) {
return "orange";
} else if( cellValue.equals("AB") ) {
return "yellow";
} else {
return "white";
}
} else {
return "white";
}
} else {
return null;
}
}
});
CSS:
.v-table-cell-content-green {
background: #33BB00;
}
.v-table-cell-content-orange {
background: #FCB724;
}
.v-table-cell-content-yellow {
background: #FFFF00;
}
.v-table-cell-content-white {
background: #FFFFFF;
}
当我查看浏览器中实际呈现的内容时,单元格是这样的:
<td class="v-table-cell-content v-table-cell-content-green" style="width: 59px;"><div class="v-table-cell-wrapper" style="text-align: left; width: 59px;">AA</div></td>
【问题讨论】: