mxgraph-官方demo(1)
来源:互联网 发布:网络卖服装营销策划书 编辑:程序博客网 时间:2024/05/22 06:13
东西学得杂乱无章..没有一个可以深入的..很无奈,更无奈的是这东西基本没有文档..没办法工作要用到..也好,看看大牛们怎么在web里实际应用<图论>的.
mxgraph的第一天,加油..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script type="text/javascript" src="../mxGraph-1.7.1.6.debug.js"></script></head><body><div id="ct" style="overflow:hidden;width:321px;height:241px;background:url('editors/images/grid.gif');cursor:default;"></div></body><script type="text/javascript"> (function main(container) { if(!mxClient.isBrowserSupported()) { alert('1');} else {//container承装graph的容器//graph相当于画布 var graph = new mxGraph(container);graph.setHtmlLabels(true);var keyHandler = new mxKeyHandler(graph);//辅助方法,得到鼠标事件选定的是哪个valuevar getFieldnameFormEvent = function(cell, evt) { if (evt != null) { //将鼠标相对于游览器视口的坐标转换为相对于graph容器的坐标var point = mxUtils.convertPoint(graph.container, evt.clientX, evt.clientY)var state = graph.getView().getState(cell);if (state != null) { //减去cell的x,ypoint.x -= state.x;point.y -= state.y; //鼠标事件发生在大于cell高度一半的地方,选定第二个值 if (point.y > state.height / 2) { return 'second'; } } } return 'first'; };//@Overridegraph.getLabel = function(cell) { var table = document.createElement('table');table.style.height = '100%';table.style.width = '100%';var body = document.createElement('tbody');var tr1 = document.createElement('tr');var td1 = document.createElement('td');td1.style.fontSize = '12px';//写入mxUtils.write(td1, cell.value.first);var tr2 = document.createElement('tr');var td2 = document.createElement('td');td2.style.fontSize = '12px';mxUtils.write(td2, cell.value.second);tr1.appendChild(td1);tr2.appendChild(td2);body.appendChild(tr1);body.appendChild(tr2);table.appendChild(body);return table;};//@Overridegraph.getEditingValue = function(cell, evt) { evt.fieldname = getFieldnameFormEvent(cell, evt);return cell.value[evt.fieldname] || '';};//@Overridegraph.labelChanged = function(cell, newValue, trigger) { var name = (trigger != null) ? trigger.fieldname : null;if (name != null) { //不要再原值上修改var value = mxUtils.clone(cell.value);value[name] = newValue;newValue = value;mxGraph.prototype.labelChanged.apply(this, arguments);}};var value = { first: '第一个值',second: '第二个值'};var parent = graph.getDefaultParent();graph.getModel().beginUpdate();try {//插入一个顶点 var v1 = graph.insertVertex(parent, null, value, 100, 60, 120, 80, 'overflow=fill;');} finally {//更新视图 graph.getModel().endUpdate();}}})(document.getElementById('ct'));</script></html>
- mxgraph-官方demo(1)
- mxgraph入门Demo
- mxgraph
- MxGRAPH
- mxgraph
- mxGraph
- js学习之路--mxGraph(1)
- mxGraph 教程1 - 开发入门指南
- cocos2dx 3.1.1官方demo阅读-在安卓平台运行cpp-tests 官方Demo
- WS-Security官方 demo
- datatables官方例子(demo)
- jqGrid Demo官方网
- 苹果官方demo
- FlexView Demo官方
- 苹果官方demo
- ios官方demo
- socket通讯官方demo
- Google官方demo(displayingBitmaps)
- 第三周 任务1.1 递归求值
- platform设备和驱动注册调用probe的流程
- 最近做的一个oracle数据迁移功能,如有更好的方案,请各位大虾也能告诉小弟。
- HDU 4272 lianliankan
- Android JNI 使用的数据结构JNINativeMethod详解 ||建立Android SDK下的JNI、JAVA应用完整步骤---Android JAVA调用C++代码
- mxgraph-官方demo(1)
- 文本转换为图片
- 调用栈和各种调用约定的总结对比
- 将数据库优化进行到底!!
- qemu使用
- js+一点jq实现计算器
- portal 在线人数统计--精确版
- Lucene学习总结-扩展查询
- [转载]RoboCopy