admin 管理员组

文章数量: 1086019


2024年4月20日发(作者:vb6的功效与作用)

mxGraph为读取出来的mxe或xml图添加cell事件(禁止cell

拖拽修改)

为了模仿mxGraph中javascript里面的例子中的展示出来的效

果,可费了不少功夫,花费了大半天的时间,先总结如下:

其一:中的并没有读取任何mxe或者xml文件,它里面的都是自己

造的XML文件,我要做的是先用CS端的Graph画好一张图生成mxe然后进行处理在

读出来

其二:显示出来的效果图有单击事件,每单击一个cell(vertex或者

edge)都会在右边显示出来一个表单用来展现其全部属性内容。它的缺陷就是,看图的人

可以随便拖动并修改cell中的内容,所以我要做的是,能单击事件但不要进行拖动

其三:mxGraph的拖动效果与bled(false)这个方法是挂钩的,设置

true就表示可拖拽修改,反之就不可以,需要说明的是,我们单击的时候肯定是要获取每

个cell的内容的,然而,如果你在设置为false的情况下使用

ectionModel().addListener(,

evt)

function(sender,

{

selectionChanged(graph);//显示属性面板

});

这个监听器就获取不到CELL的值,因为我的selectionChanged方法中使用到了

cell,之前我在selectionChanged方法里面是通过var cell = ectionCell()

来获取cell的,这种情况下如果我利用了上面的那个监听器并且设置

bled(false)那么肯定不会触发事件并显示表单,如果在这种情况下设置

bled(true)那么一定可以触发得到表单,之后我有试了其他的监听器

tener(, function(sender, evt)

{

selectionChanged(graph);

});

前提是bled(false)了也是不行的,后来这样试了双击的都不可以于是

我就想这中间肯定是cell获取不对的问题,后来参考了script其他的两个例子如

overlays的单击监听器中

tener(, function(sender, evt)


本文标签: 事件 显示 出来 表单