如何将自定义CSS类分配给h:dataTable的任意任意行?

前端之家收集整理的这篇文章主要介绍了如何将自定义CSS类分配给h:dataTable的任意任意行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将特定的CSS类分配给我的< h:dataTable>的特定行.有没有办法访问和cutomize结果表行?

解决方法

将rowClasses属性绑定到bean属性,该属性返回所需的CSS类字符串.
<h:dataTable value="#{bean.list}" rowClasses="#{bean.rowClasses}">

与…

public String getRowClasses() {
    StringBuilder rowClasses = new StringBuilder();
    for (Item item : list) {
        if (rowClasses.length() > 0) rowClasses.append(",");
        rowClasses.append(item.getRowClass());
    }
    return rowClasses.toString();
}

更新以澄清,这样您就可以对rowClasses字符串进行完全的编程控制.注意,上面只是一个启动示例,它不一定需要通过Item#getRowClass()等获得.您甚至可以使用计数器进行简单的for循环.

例如.

public String getRowClasses() {
    StringBuilder rowClasses = new StringBuilder();
    for (int i = 0; i < list.size(); i++) {
        if (rowClasses.length() > 0) rowClasses.append(",");
        rowClasses.append(selected.contains(i) ? "selected" : "none");
    }
    return rowClasses.toString();
}

其中selected是List< Integer>.如果它包含1,2和5,则返回的字符串将如下所示,以获取10个项目的列表:

none,selected,none,none

猜你在找的CSS相关文章