如何更改 mxCell 的 parent
How to change parent of mxCell
我试图在运行时更改 mxCell 的 parent,但没有成功。
这是场景。
图中添加了两条泳道。
每条泳道的形状都是 child。
当任何泳道中的一个形状移动到另一个泳道(拖放)时,默认情况下 parent 不会更新。
所以在代码中我正在处理 CELLS_MOVED 事件并在处理程序中尝试将 parent 分配给已移动的单元格。
childCell.setParent(parent单元格);
为了确保更改得到更新,我还将代码嵌入到开始和结束更新函数中。
在调试期间,我看到 child 的 parent 已更新。但是当我尝试删除 parent 时,新添加的 child 单元格不会被删除。在调试时我发现形状再次丢失了它的 parent id。
有人可以帮我解决这个问题吗?
这应该是自动处理的。 graph.dropEnabled 的值是多少?如果这不起作用,请尝试使用 model.add https://jgraph.github.io/mxgraph/docs/js-api/files/model/mxGraphModel-js.html#mxGraphModel.add
更改父级
您只需要调用模型的添加函数如下。
graph.getModel().add(parent, child, index); // index is optional here
我试图在运行时更改 mxCell 的 parent,但没有成功。 这是场景。 图中添加了两条泳道。 每条泳道的形状都是 child。 当任何泳道中的一个形状移动到另一个泳道(拖放)时,默认情况下 parent 不会更新。 所以在代码中我正在处理 CELLS_MOVED 事件并在处理程序中尝试将 parent 分配给已移动的单元格。
childCell.setParent(parent单元格);
为了确保更改得到更新,我还将代码嵌入到开始和结束更新函数中。
在调试期间,我看到 child 的 parent 已更新。但是当我尝试删除 parent 时,新添加的 child 单元格不会被删除。在调试时我发现形状再次丢失了它的 parent id。
有人可以帮我解决这个问题吗?
这应该是自动处理的。 graph.dropEnabled 的值是多少?如果这不起作用,请尝试使用 model.add https://jgraph.github.io/mxgraph/docs/js-api/files/model/mxGraphModel-js.html#mxGraphModel.add
更改父级您只需要调用模型的添加函数如下。
graph.getModel().add(parent, child, index); // index is optional here