【问题标题】:Completed a row before a selectall在全选之前完成了一行
【发布时间】:2012-07-03 15:26:09
【问题描述】:

我有一个带有列标题的数组,我希望我的第一个单元格具有“A1”作为标题。 我试过这样:

var title=mtable.append("thead").append("tr");
title.append("td").text("A1");
title.selectAll("td")
        .data(lTitre)
        .enter().append("td")
        .text(function(d) { return d.key; });

我的代码没有绘制第一列标题:2007(如下所示)。我该如何解决这个问题?

<thead>
  <tr>
    <td>A1</td>
 !!!! <td>2007</td> !!!!! is missing here 
    <td>2008</td>
    <td>2009</td>
    <td>2010</td>
    <td>2011</td>
  </tr>
</thead>

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    使用您当前的代码,如果您检查绑定到&lt;td&gt;A1&lt;/td&gt;__data__,您会看到它有__data__.key == 2007。发生这种情况是因为每当您的 selectAll() 语句匹配当前选择中的任何元素时,.data() 函数会在创建输入选择之前将数据绑定到现有元素。要解决此问题,只需使用与任何现有元素都不匹配的 selectAll() 函数:

    var title = mtable.append("thead").append("tr");
    title.append("td").text("A1");
    title.selectAll(".new")
            .data(lTitre)
            .enter().append("td")
            .text(function(d) { return d.key; });
    

    【讨论】:

    • @user1443858 如果可以解决您的问题,您应该接受(并投票)该答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多