D3js过滤表

时间:2020-06-04 04:28:42

标签: javascript d3.js

我正在使用D3js在表过滤器中工作,并且我已经准备好了。过滤器部分运行,有时返回正确的数据,有时不返回

在这里我获得了所有数据:

enter image description here

过滤器在这里起作用:

enter image description here

但是在这里不起作用:

enter image description here

如果我删除所有过滤器,它将带给我所有数据,没关系。

这是我目前正在做的过滤器。我有一个例子here

function updates(selectedGroup){

    if (selectedGroup.length>0){

      dataFilter = data.filter(function(d,i){if (selectedGroup.includes(d.Departamento? d.Departamento : 0)){return d};});

    }else {
      dataFilter=data

    }

    var rows = tbody.selectAll("tr")
        .data(dataFilter);

    rows.exit().remove();

    var rowsEnter = rows.enter().append('tr')
     .selectAll("td")
     .data(function(row) {
            return columns.map(function(column) {console.log('entro');
                return {column: column, value: row[column]?row[column]:0};
            });
        })
        .enter()
        .append("td")
        .attr("style", "font-family: Courier") // sets the font style
            .html(function(d) {return d.value? d.value : 0; });

} 

1 个答案:

答案 0 :(得分:1)

现在您只有一个“输入”选择,而没有任何更改“更新”选择,就像这样:

rows.selectAll("td")
  .data(function(row) {
    return columns.map(function(column) {
      return {
        column: column,
        value: row[column] ? row[column] : 0
      };
    });
  })
  .html(function(d) {
    return d.value ? d.value : 0;
  });

这是您的分叉代码:https://plnkr.co/edit/OJvAOwiP18VXKZkT?open=lib%2Fscript.js&preview

相关问题