Datatables 使用jquery dataTable的dc.js dataTable条件格式

Datatables 使用jquery dataTable的dc.js dataTable条件格式,datatables,dc.js,crossfilter,Datatables,Dc.js,Crossfilter,我有一个使用dc.js构建的仪表板,我使用的是图表类型dc.rowChart和dc.dataTables。 不带条件格式的工作场景: dc.rowChart-显示前50名客户 dc.dataTable-显示所有必需字段,并根据行图筛选数据 使用条件格式的工作场景(在数据表行上) 在我的HTML中,我正在调用DataTable的jquery插件(用于条件格式),下面是代码: 此处发布 当我第一次呈现页面时,带有条件格式的datatable的所有内容都可以正常工作 但当我点击行图表根据客户的数据

我有一个使用dc.js构建的仪表板,我使用的是图表类型dc.rowChart和dc.dataTables。
不带条件格式的工作场景:
dc.rowChart-显示前50名客户
dc.dataTable-显示所有必需字段,并根据行图筛选数据
使用条件格式的工作场景(在数据表行上)
在我的HTML中,我正在调用DataTable的jquery插件(用于条件格式),下面是代码:

此处发布 当我第一次呈现页面时,带有条件格式的datatable的所有内容都可以正常工作
但当我点击行图表根据客户的数据过滤数据表时,条件格式就消失了
非常感谢您的帮助来解决此问题
我已经尝试了几乎所有的堆栈答案,但我无法实现它
下面使用的参考资料:
1.
2.
3. 4.(由于我不想对整行进行颜色编码,因此选择了此选项)


@戈登永远是我的幸存者。。寻找您的输入,请

我看到您仍然使用dc.js 2.0,所以我没有尝试将其移植到或。我仍然认为这样更容易维护

正如我在评论中所指出的,
$.DataTable
是一种单向转换:一旦您完成了转换,就无法更新表,因为
dc.DataTable
不再识别DOM结构和DataTable

可能有一些聪明的方法可以让DataTables更新数据(这就是库所做的)。首先构建一个表,然后使用DOM作为数据源构建一个DataTable,这也是非常低效的

但是不管怎样,我们只要在每次绘制
dc.DataTable
时从头开始构建DataTable就可以了

执行此操作的方法是侦听表的
pretransition
事件,记住是否已初始化DataTable,如果已初始化,则销毁旧实例:

var dt = null;
table.on('pretransition', function() {
    if(dt)
        dt.destroy();
    dt = $("#dc-data-grid").DataTable( {
        // as before
    } );
});

。我必须修复一些其他的东西,但是我不会详述。

请考虑使用或代替创建<代码> DC .DATABATE < /C> >然后用“代码> $.DATABATE ”来转换它。这些库更好地处理重绘。正如您所指出的,
$.DataTable
是一个单向转换,之后就不会更新任何内容(没有更多的工作,这就是这些库所要做的)。@Gordon,我无法使用dc tableview或dc.datatables.js修复它。这是我的小提琴,如果我只说“谢谢”是不够的。。我欠你一顿午餐/晚餐。。如果你在亚特兰大,请随时告诉我:)我曾经是一名Tableau开发人员,我使用dc.js做了一些poc的片段。。你知道吗??使用dc.js构建了近15个仪表盘,用户非常喜欢。社区和贡献者的所有荣誉:)万岁..听到这个消息真是太好了。非常感谢。
    .negative {
    background-color:rgba(255,0,0,1.00);
    color: #fff;
    text-align: center;
    }
   .positive {
    background-color:rgba(50,205,50,1.00);
    color: #fff;
    text-align: center;
    }
var dt = null;
table.on('pretransition', function() {
    if(dt)
        dt.destroy();
    dt = $("#dc-data-grid").DataTable( {
        // as before
    } );
});