1

这是我的图表显示的内容:

在此处输入图像描述

这是我的位置表:

我的位置表

似乎真的无法弄清楚问题所在。

-我有一个按钮和一个下拉菜单,当从下拉菜单中选择一个项目并选择按钮时,必须显示一个组织结构图。图表显示,但问题是:

-orgchart 分成三个图表

- 它不断显示一些身份

- 这是我的代码:

    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();
        });
    }
4

1 回答 1

0

根据数据格式第 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
    ]);
}
于 2017-01-31T14:26:42.307 回答