css – Vaadin – 基于内容着色表格单元格

前端之家收集整理的这篇文章主要介绍了css – Vaadin – 基于内容着色表格单元格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个非常基本的例子,我试图根据该单元格中存在的特定字符串值为特定单元格着色.我输入了打印语句,我正在返回“绿色”,返回“橙色”等等……但是在运行时我只得到灰色和白色交替的行颜色,没有我特定的单元格颜色.我正在使用的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>

解决方法

那么如果你把css放在正确的css文件中,上面的代码实际上是有效的.我试图将样式添加到myproject.scss而不是styles.css,我想你应该这样做.

猜你在找的CSS相关文章