我有一个DataTables表。这是我的结果的简化版本:
$('#dt_list').html( '<table cellpadding="0" cellspacing="0" border="1" class="content" id="test"></table>' );
$('#test').dataTable( {
"bAutoWidth": true
"aaData": [ 'val1', 'val2', 'val3' ],
"aoColumns": [ 'col1', 'col2', 'col3' ],
});
...stuff here..
<div id='dt_list'></div>
JavaScript数组是由Python脚本基于从MySQL数据库中提取的值生成的(否则会无关紧要,但我只是想确保阅读此内容的人知道我在JavaScript之外动态生成内容数组)。
正如我所说,此表中显示的数据是MySQL查询的结果,然后由Python处理并输出到Python生成的页面中的JavaScript中。
我的Python代码中有逻辑,不仅可以确定单元格中的值,还可以确定单元格是否需要突出显示(通过单元格的背景颜色)。我的问题是,我如何随意改变某些DataTable单元格的颜色?
由于我的大多数逻辑都是在Python中,我在JavaScript中并不需要任何非常精美或优雅的评估,我只需要在JavaScript中使用某种方式来操作单元格的CSS属性或以其他方式指示不同的着色。
我看过fnRender,这似乎是我最大的希望。但是,我在这一点上的两个问题是(a)我找不到一种方法来操纵fnRender函数中的颜色(它似乎更有针对性地操纵内容本身)和(b)我不确定如何我可以让fnRender知道Python操作的结果,以确定是否需要特殊着色。
有什么我想念的吗?或者我可能只需要重新思考我是如何接近这个的?理想情况下,我想要一个解决这个问题的方法,不涉及改进我正在做的方式,但是如果必须的话,我将改变生成数据的方式或传递数据。我正在修改一些现有的代码而不想弄乱现有的设计,而是采用最短,最简单的方法将其表格列表输出转换为DataTables,其中一部分是生成某些单元格,因为它们具有修改后的颜色。
答案 0 :(得分:1)
您的“fnRender”回调可以返回包含在标记<span>
或<div>
(或其他)中的单元格内容。然后,您可以使用fnDrawCallback
函数查找这些函数,并使用类标记父<td>
元素。