Javascript 您如何影响连接线在架构剑道UI图中的位置

Javascript 您如何影响连接线在架构剑道UI图中的位置,javascript,kendo-ui,telerik,diagram,Javascript,Kendo Ui,Telerik,Diagram,我正在使用 我不希望用户能够编辑图表,因为它是他们以前输入的位置的只读表示,但是我希望以特定的方式显示图表 我使用的布局类型是tree,子类型为down。我正在使用hierarchicaldatasource作为dataSource 绘制图表的默认方式如下所示: 但是,我的老板需要它看起来像这样: 因此,父节点具有来自底部连接器的所有子节点 我认为没有办法通过编程来影响这一点。请提供帮助。关闭编辑很容易,只需转到您的选项可编辑:false。要使布局与您发布的布局相似,请使用两个变量:水平分隔

我正在使用

我不希望用户能够编辑图表,因为它是他们以前输入的位置的只读表示,但是我希望以特定的方式显示图表

我使用的布局类型是
tree
,子类型为
down
。我正在使用
hierarchicaldatasource
作为
dataSource

绘制图表的默认方式如下所示:

但是,我的老板需要它看起来像这样:

因此,父节点具有来自底部连接器的所有子节点


我认为没有办法通过编程来影响这一点。请提供帮助。

关闭编辑很容易,只需转到您的选项
可编辑:false
。要使布局与您发布的布局相似,请使用两个变量:
水平分隔
垂直分隔
下的
布局

您可以在这里查看:

您还可以使用阵列修复连接: 例如:

  function createDiagram() {
    $("#diagram").kendoDiagram({
      editable: false,
      dataSource: {
        data: diagramNodes(),
        schema: {
          model: {
            children: "items"
          }
        }
      },
      layout: {
        type: "tree",
        subtype: "down",
        horizontalSeparation: 60,
        verticalSeparation: 40
      },
      shapeDefaults: {
        width: 40,
        height: 40
      }
    });
  }

  function diagramNodes() {
    var root = { name: "0", items: [] };
    addNodes(root, [3, 2, 2]);
    return [root];
  }

  function addNodes(root, levels) {
    if (levels.length > 0) {
      for (var i = 0; i < levels[0]; i++) {
        var node = { name: "0", items: [] };
        root.items.push(node);

        addNodes(node, levels.slice(1));
      }
    }
  }

  $(document).ready(function() {
    $("#subtype").change(function() {
      $("#diagram").getKendoDiagram().layout({
        subtype: $(this).val(),
        type: "tree",
        horizontalSeparation: 30,
        verticalSeparation: 20
      });
    });
  });

  $(document).ready(createDiagram);
  $(document).bind("kendo:skinChange", createDiagram);
  connectionDefaults: {
    type: "polyline"
  }