【问题标题】:Changing background color for non-header cells in column of p:dataTable更改 p:dataTable 列中非标题单元格的背景颜色
【发布时间】:2025-12-17 18:30:01
【问题描述】:

我想知道如何为数据表中的特定列设置背景颜色。我尝试了下面的 css 代码

.mystyle.ui-datatable .ui-datatable-data td, .mystyle.ui-datatable .ui-datatable-data td{
background-color:#B5D3A5;   
}  

但上面的内容似乎改变了数据表中所有列的背景颜色。请让我知道如何更改数据表中特定列的背景颜色。提前致谢

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    您可以为此使用p:columnstylestyleClass 属性:

    <p:column style="background-color: red" ...>
    

    这将为表格单元格标题单元格着色。

    如果您不想更改标题单元格,您可以执行以下操作:

    给列一个 styleClass 属性:

    <p:column styleClass="foo" ...>
    

    然后将以下样式定义添加到您的 css/html 中:

    td.foo {
        background-color: red;
    }
    

    【讨论】:

    • 嗨,马特,感谢您的回复。我已经尝试了上述方法,但问题是,它也改变了列标题的背景颜色。我不想改变标题的样式。只是需要更改列值的背景颜色。请让我知道单独更改列值的背景颜色需要做什么。
    • 好的,您的问题并不清楚。更新了我的答案。
    【解决方案2】:

    使用 p:dataTable 的 headerClass 属性作为标题样式,并为所需列使用内联样式 style="text-align:center;background-color:red"

    【讨论】:

      最近更新 更多