隐藏表行所需的帮助 - dc.js

时间:2014-02-14 06:15:02

标签: javascript jquery d3.js dc.js

我使用dc.js绘制图表并显示数据表。

一切都运行良好。对于表格,我创建了dimensiongroup。将组变量传递给可动态记录。

问题是我在图表中做了一些选择。数据表值当然会发生变化。但是很少有记录可以隐藏,而是带有0值。

我想要隐藏这些行。

以下是我正在使用的功能。

表格维度: var tableDim = ndx.dimension(function(d) { return d.label; })

表格组: var tableGroup = tableDim.group().reduceSum(function(d) { return d.count; })

Dyna表:

var dynatable = $('.data-table').dynatable({
        features: {
            pushState: false
        },
        dataset: {
            records: tableGroup.top(Infinity),
            perPageDefault: 10,
            perPageOptions: [10, 20, 100, 500, 1000]
        }
    }).data('dynatable');

刷新图表选择表:

function RefreshTable() {
        dc.events.trigger(function () {
            dynatable.settings.dataset.originalRecords = tableGroup.top(Infinity);
            dynatable.process();
        });

        $('.data-table tr').each(function() {
            if ($(this).find('td:nth-child(2)').text() < 1) {
                $(this).addClass('zero-value');
            }
        })
    };

我已经编写了jquery代码来为零值分配一个类。因为我已经给出perPageDefault: 10,它只会分配给前10个记录。但是我希望它可以运行整个表记录。

请帮助我隐藏值为0的行。

1 个答案:

答案 0 :(得分:0)

在分配dynaTable初始化和RefreshTable中的记录之前,您可以复制数据并删除值为0的记录。

Dynatable正在对您传递的记录采取行动,因此您可以以任何您认为合适的方式更改该数据。