Ext.net TreePanel的Checkbox操作及父子联动
需求:
在使用Ext.net的TreePanel时,我们需要使用节点的Checkbox联动状态:
当选中一个树节点的Checkbox时,需要让它的父节点设为选中,并同时选中他所有的子节点。
当取消一个树节点的Checkbox选中状态时,需要同时取消它所有子节点的选中状态。
很多资料上作用node.getUI().checkbox.checked = true/flase;方式来设置节点checkbox的状态,但这种方式在联动的情况下容易出现一个问题,就是通过TreePanel1.getChecked();不能获取到选中节点的值,所以建议使用node.ui.toggleCheck(checked)方法来处理。
但toggleCheck同样存在一个问题:
check子节点时,使用parentNode.getUI().toggleCheck(true)选中父节点,会触发父节点被选中的事件。需要这里不需要它触发父节点被选中事件,需要重定一下toggleCheck方法。
下面demo使用VS2010 + Ext.net 1.2版本实现,测试通过:
源码:http://download.csdn.net/detail/llxchen/4533901
原下载:http://download.csdn.net/detail/llxchen/4533696 有Bug,请勿下载。