1

여기 내 차트를 표시은 무엇입니까 문제.세에 Orgchart에 분할 및 표시 아이디의이

-Ive는 버튼과 드롭 다운이 있는데, 드롭 다운에서 항목을 선택하고 버튼을 선택하면 orgchart가 표시되어야합니다. 차트 표시되지만 문제는 세 가지 차트

- 그리고 그것을 보여주는 유지에

-orgchart 분할 신분증의

내 코드 - 여기있어 다음 data format에 따라

google.load("visualization", "1", { packages: ["orgchart"] }); 
    google.setOnLoadCallback(drawChart); 

    function drawChart() { 
     $("#btnGetOrganogram").on('click', function (e) { 
      debugger 
      $ddlDepOrgano = $('[id$="ddlDepOrgano"]').val(); 
      if ($ddlDepOrgano != "") { 
       var jsonData = $.ajax({ 
        type: "POST", 
        url: '/services/eleaveService.asmx/GetChartData', 
        data: "{'depid':'" + $ddlDepOrgano + "'}", 
        contentType: 'application/json; charset=utf-8', 
        dataType: "json", 
        success: OnSuccess_getOrgData, 
        error: OnErrorCall_getOrgData 
       }); 

       function OnSuccess_getOrgData(repo) { 

        var data = new google.visualization.DataTable(jsonData); 
        data.addColumn('string', 'Name'); 
        data.addColumn('string', 'Manager'); 
        data.addColumn('string', 'ToolTip'); 

        var response = repo.d; 
        for (var i = 0; i < response.length; i++) { 
         var row = new Array(); 
         var Pos_Name = response[i].Pos_Name; 
         var Pos_Level = response[i].Pos_Level; 
         var Emp_Name = response[i].Emp_Name; 
         var Pos_ID = response[i].Pos_ID; 
         var Emp_ID = response[i].Emp_ID; 
         data.addRows([[{ 
          v: Emp_ID, 
          f: Pos_Name 
         }, Pos_Level, Emp_Name]]); 

        } 

        var chart = new google.visualization.OrgChart(document.getElementById('chart_div')); 
        chart.draw(data,{ allowHtml: true }); 
       } 

       function OnErrorCall_getOrgData() { 
        console.log("something went wrong "); 
       } 
      } else { 
       bootbox.alert("Invalid Department Name please try again."); 
      } 
      e.preventDefault(); 
     }); 
    } 
+0

@WhiteHat : 방금 내 게시물을 편집하고 내 Positions 테이블의 이미지를 추가했습니다. 두 테이블을 사용하고 있습니다. 하나는 tbl_Position이고 두 번째는 tbl_Employee의 외래 키로 Pos_ID를 포함하는 tbl_Employee입니다. – user7489877

답변

0

는, Column 1은 트리를 만드는 데 사용되는 관리자의 ID 여야합니다.

열 1 - [선택 사항] 상위 노드의 ID입니다. 이 값은 다른 행의 열 0에서 서식이 지정되지 않은 값이어야합니다. 루트 노드에 대해서는 지정하지 마십시오. 데이터 테이블 이미지를 찾고

이 칼럼에 있어야 게시 - 같은>Mngr_ID

, 데이터를로드 할 때 다음과 같이 변경하는 것이 좋습니다 ...

for (var i = 0; i < response.length; i++) { 
    var row = new Array(); 
    var Pos_Name = response[i].Pos_Name; 
    var Emp_Name = response[i].Emp_Name; 
    var Emp_ID = response[i].Emp_ID; 
    var Mngr_ID = response[i].Mngr_ID; 
    data.addRow([ 
     { 
     v: Emp_ID, 
     f: Pos_Name 
     }, 
     Mngr_ID, 
     Emp_Name 
    ]); 
} 
+0

잘 구조화 된 오르간 그램을 표시 할 수있었습니다. 당신이 내게 준 입력, 사소한 문제는 내가 exper 그것이 모든 위치를 표시하지 않는다는 것이 그 것이다. "관리 위치"에 5 개의 하위 위치가있는 경우 "관리 위치"아래에 5 개의 "하위 위치"중 하나만 표시 – user7489877

+0

"관리 위치"아래에있는 다섯 개의 "하위 위치"를 모두 표시하는 대신 @WhiteHat – user7489877

+0

https://i.stack.imgur.com/8hofr.png 여기에 orgchart가 표시됩니다. 그리고 여기 내 테이블 구조가 있습니다. https://i.stack.imgur.com/D5OGi.png @WhiteHat – user7489877