1

上のIDを表示すること。ここ何私のチャートを表示します:を3つの組織図を分割、およびチャート

enter image description here

はここに私のポジションテーブルです:

My position table

カントは本当にいただきまし把握するように見えます問題。

- ボタンとドロップダウンがあります。ドロップダウンから項目を選択してボタンを選択すると、組織図が表示されます。チャートが表示さが、問題は次のとおりである:3つのチャート

-orgchart分割 - そしてそれは私のコードは-hereだいくつかのIDが

を示す保持:

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を次の変更をお勧めします。私はちょうど自分のポストを編集し、私のポジションテーブルの画像を追加しました。私は2つのテーブルを使用しています.1つはtbl_Positionで、もう1つはtbl_Employeeの外部キーとしてPos_IDを含んでいます。 – user7489877

答えて

0

data formatによると、 列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

あなたが私に与えた入力、私の小さな問題それはすべてのポジションを表示していないということです。 「管理ポジション」に5つの「サブポジション」がある場合は、「管理ポジション」の下にある5つの「サブポジション」の1つだけを表示します – user7489877

+0

「管理ポジション」の下にある5つの「サブポジション」を表示する代わりに@WhiteHat – user7489877

+0

https://i.stack.imgur.com/8hofr.pngここに組織図が表示されます。そして、私のテーブル構造は次のとおりです。https://i.stack.imgur.com/D5OGi.png @WhiteHat – user7489877

関連する問題