数据表:如何添加自定义服务器端样式?

时间:2014-03-10 09:50:41

标签: javascript php css datatable

我在简单的HTML表格上使用数据表。然而,这个表是由我的PHP脚本构建服务器端的。

所以我只需构建一个'table'元素,其中包含'thead'和'tbody',并在页面加载后将数据表应用于table元素。

以前(在使用数据表之前),我可以通过为行,单元格等设置特定的类来自定义表的样式。

但是,在指定自定义类时,例如:。

<tr class='MyCustomClass'>
当数据表应用于

时,

会被覆盖。

数据表中是否有包含我的自定义类的设置?阅读文档在数据表中有很多样式选项,但据我所知,这些都是必须在客户端执行的javascript函数,所以如果这些是我唯一的样式数据表选项,那将是非常困难的根据给定行,单元格等的内容实现服务器端样式...

修改

示例:

请注意,在两个示例中,html源表在第二个'tr'元素中都有“style ='border-color:red; border-style:solid”,但是当在此表上加载数据表时,红色边框不是可见

3 个答案:

答案 0 :(得分:0)

您是否动态加载表格HTML?如果要“回显”结果,则应将内联css属性与echo语句一起放置。

echo "<tr style='border:1px solid red>'" . $row['myRow'] . "</tr>";

答案 1 :(得分:0)

在您的示例中显示“Not OK”,看起来样式仍然保持不变。它不在第二行,但如果你转到第5页“它就在Trident Internet Explorer | 5.0 | Win 95+ | 5 | C行周围

DataTables按“渲染引擎”列对结果进行排序,该列将Trident推送到第5页。

覆盖与DataTables冲突的样式可能并不容易,但看起来可以应用类和内联样式。请参阅覆盖字体样式和背景颜色的updated example here

您可能已经找到了一些方法来满足您的需求,但DataTables并不一定反对让您添加自己的风格。

答案 2 :(得分:0)

我已经不得不这样做,这是一个例子,如果基于他,我说当第3列等于第4列时,会添加一个名为“红色”的类。在<tr>

示例:

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {                
    if ( aData[3] != aData[4]){
        jQuery(nRow).addClass('red');
    }               
},

http://www.datatables.net/forums/discussion/2025/fnrowcallback-and-fnupdate