mxgraph之朝花夕拾

学习mxgraph一段时间了,列一些常用代码段,于己于人都方便

 

设置节点在线上(即:线和元素重叠式,线被节点遮住)

graph.selectEdges();//选中所有的线
graph.orderCells(true);//使线在所有元素的底下 
graph.clearSelection();//取消选中的元素

 

设置画布背景图片

var img = new mxImage(imageSrc,1280 ,1024);  // w:1280   h:1024
graph.setBackgroundImage(img); 
graph.view.validate();

  

自定义ToolTip

graph.setTooltips(true);
graph.getTooltipForCell = function(cell){
    return "下级设备1:"+cell.downDevice1	 
               + "\n下级设备2: "+cell.downDevice2	
	 + "\n下级设备3: "+cell.downDevice3
	 + "\n下级设备数: "+cell.downDeviceNum;
}

 

事件

//移动元素触发事件
graph.addListener(mxEvent.CELLS_MOVED,function(sender, evt){
	//alert("CELLS_MOVED");   
	var cell = evt.getProperty('cell'); 
					
	if(cell==null&&sender.graphHandler.cells!=null){
		cell = sender.graphHandler.cells[0];//保证cell有值,否则移动时cell
	} 
			 
	if(cell != null && cell.vertex == 1) {//代表鼠标点击的是节点
		//alert("移动节点"+cell.id);    
		cell.autoSaveNode = '1';//给cell节点增加一个自定义属性,标识处于可保存状态   
	}  
});

 

更新指定节点图片,可配合ajax无刷新实现告警时自动闪烁

graph.getModel().beginUpdate();
try{
	for (var i = 0; i < nodelist.length; i++) {
					
		//alert(nodelist[i].deviceid+1);
		var cellId = nodelist[i].deviceid+1;
		var picUrl = "";
		//alert(cellId); 
		if(nodelist[i].sr_alarmsum>0)  picUrl = "red.gif";  
		else if (nodelist[i].sw_alarmsum >0)  picUrl = "orange.gif";					
		var cell = graph.getModel().getCell(cellId); 
		// Updates the cell color and adds some tooltip information
		if (cell != null) {   
			graph.setCellStyles(mxConstants.STYLE_IMAGE, "image;image="+picUrl, [cell]); 
		}  
	}
			  	
} finally {
	graph.getModel().endUpdate();
	//alert("ol1"); 
} 

 

设置画布只能预览,禁止拖动或点击

graph.setEnabled(false);//graph只能预览
graph.getCursorForCell = function(cell){//预览时鼠标悬浮到节点时,改变鼠标样式
	if (cell != null && cell.value != null && cell.vertex ==1 )
	{
	       return 'pointer';
	}
};

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值