在Coolite Asp.Net MVC 中用Extjs 实现带Check的树
2010-05-24 14:38
453 查看
带Check状态的树,功能说明:
1)当一个节点选中时,其子节点也都选中;
2)当一个节点取消选中时,其子节点也都取消选中,其父接点也都需要取消选中
效果见图:
代码
firstId这个变量很重要,它记录了我们发生Check6事件的起始位置。isUp是判断事件是否向上触发。
到此为止我们实现了这样的Check树,及存取操作,你也动手试一试吧,:)干活,干活了。。。
1)当一个节点选中时,其子节点也都选中;
2)当一个节点取消选中时,其子节点也都取消选中,其父接点也都需要取消选中
效果见图:
代码
function setDataSetState(checked, node) { var records = dsRoleRights.getRange(); var count = records.length; var i = 0; for (i; i <= count; i++) if (records[i]['data'].Id == node.id) break; var r = null; if (count >= i) { r = records[i]; if (r['data'].HasCheck != checked) { //alert(node.id+'数据'+r['data'].HasCheck+',操作'+checked) r.set('HasCheck', checked); r.commit(true); } } } var flag = true; var firstId = ''; var isUp = true; var nodeCheckchange = function(node, checked) { if (firstId == '') firstId = node.id; if (checked) { if (firstId = node.id) setDataSetState(checked, node); node.eachChild(setNodeChecked); } else { setDataSetState(checked, node); if (firstId == node.id) { isUp = false; } if (!isUp) { node.eachChild(setNodeUnChecked); } if (firstId == node.id) isUp = true; if (isUp) { var parent = node.parentNode; while (parent != null) { parent.getUI().toggleCheck(false); parent = parent.parentNode; } } } if (firstId == node.id) firstId = ''; } var setNodeUnChecked = function(node) { node.getUI().toggleCheck(false); } var setNodeChecked = function(node) { node.getUI().toggleCheck(true); }
firstId这个变量很重要,它记录了我们发生Check6事件的起始位置。isUp是判断事件是否向上触发。
到此为止我们实现了这样的Check树,及存取操作,你也动手试一试吧,:)干活,干活了。。。
相关文章推荐
- 在Coolite Asp.Net MVC 中用Extjs 实现带Check的树
- asp.net mvc + ExtJs 实现无限级TreePanel 加载、添加、编辑、删除
- 使用 ExtJS 实现 ASP.NET MVC 2 客户端验证
- NHibernate3.2+Asp.net MVC3+Extjs 4.0.2项目实践(六):Extjs Grid,Window,Form实现增删改操作
- NHibernate3.2+Asp.net MVC3+Extjs 4.0.2项目实践(二): NHibernate数据访问层实现
- 使用 ExtJS 实现 ASP.NET MVC 2 客户端验证
- asp.net mvc 简单实现一个账号只能在一个地方登录
- Asp.Net MVC 3 + ExtJs 4.01做一个Quartz.Net管理平台
- Asp.net结合Extjs实现一次加载整个树和动态加载树
- 利用ResultFilter实现asp.net mvc 页面静态化
- Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型
- Asp.net 中mvc 实现超时弹窗后跳转功能
- ASP.NET MVC 如何实现头压缩
- ASP.NET MVC ActionResult的实现
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- ASP.NET MVC 多语言实现技巧 最简、最易维护和最快速开发
- ASP.NET MVC入门---实例演示:通过ContentResult实现主题定制
- Asp.net MVC 2 网站轻松实现多语言支持
- NoSql-MongoDB GridFS+ASP.NET MVC实现上传,显示
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动