[英]Altering the Coloring of Arbitrary Cells in DataTables
我有一个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,其中一部分是生成某些具有修改后颜色的单元格。
您的“ fnRender”回调可以返回包裹在标记<span>
或<div>
(或其他)中的单元格内容。 然后,您可以使用fnDrawCallback
函数查找那些内容,并使用类标记父<td>
元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.