繁体   English   中英

更改数据表中任意单元格的颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM