2012-07-03 3 views
1

열 제목이있는 배열이 있는데 첫 번째 셀의 제목이 "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. 어떻게 해결할 수 있을까요? 당신이 __data__<td>A1</td>에 바인딩 선택하면 현재의 코드와

<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> 

답변

1

, 당신은 __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; }); 
+0

감사합니다. – user1443858

+1

@ user1443858 문제 해결에 도움이 되었다면 답을 수락하고 (upvote) 대답을 받아 들여야합니다. – posdef

관련 문제