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