用客户端JS实现微软TreeView控件父子节点联选!
2007-08-29 17:06
666 查看
说明
TreeView控件应该说是比较常用的一个东东了.别人提供的JSTree实现(如Yahoo UI lIb) 都有这样或那样的问题而微软的TreeView控件虽然用起来方便,可是一直感觉也不是很理想.比如,无实通过属性设定为是否父子节点联选(既,选中父节点就选中所有子节点或孙节点,反之,全部取消选择了子节点父节点也要被取消选择).以前1.1的时候,可以用更改HtC的方法搞定.2.0下,JS是编在DLL里的,所以只能自己通过客户端JS搞定.
解决思路
先说一下TreeView在IE中实现的结构,
<Div TreeViewID>
<CheckBox id = TreeViewID + n + 节点次序/>
<span id=TreeViewID + t + 节点次序">节点的Text</span>
--如果有子节点
<Div ID = TreeViewID + n + 节点次序 + Nodes>
同样的次序
</Div>
</Div>
有了这个就好办了,先拦下TreeView的OnClick事件,判断事件源是不是CheckBox,如果是,就按这个次序寻根认祖, 再取设定子节点的状态, 如果是取消选定,还要判断一下是不是所有兄弟结点都被取消选定了,如果是这样,那也要取消父节点.
后台拦下TreeView的OnClick事件很简单
TreeViewID.Attributes.Add("onclick", "HandleCheckEvent()");
前台JS不多解释了,思路有了,看代码吧
<script>
function setParentState(objNode)
function setChildState(objNode)//设定子控件状态
function isAllChildrenUnChecked(objChk)
//触发事件
function HandleCheckEvent()
</script>
TreeView控件应该说是比较常用的一个东东了.别人提供的JSTree实现(如Yahoo UI lIb) 都有这样或那样的问题而微软的TreeView控件虽然用起来方便,可是一直感觉也不是很理想.比如,无实通过属性设定为是否父子节点联选(既,选中父节点就选中所有子节点或孙节点,反之,全部取消选择了子节点父节点也要被取消选择).以前1.1的时候,可以用更改HtC的方法搞定.2.0下,JS是编在DLL里的,所以只能自己通过客户端JS搞定.
解决思路
先说一下TreeView在IE中实现的结构,
<Div TreeViewID>
<CheckBox id = TreeViewID + n + 节点次序/>
<span id=TreeViewID + t + 节点次序">节点的Text</span>
--如果有子节点
<Div ID = TreeViewID + n + 节点次序 + Nodes>
同样的次序
</Div>
</Div>
有了这个就好办了,先拦下TreeView的OnClick事件,判断事件源是不是CheckBox,如果是,就按这个次序寻根认祖, 再取设定子节点的状态, 如果是取消选定,还要判断一下是不是所有兄弟结点都被取消选定了,如果是这样,那也要取消父节点.
后台拦下TreeView的OnClick事件很简单
TreeViewID.Attributes.Add("onclick", "HandleCheckEvent()");
前台JS不多解释了,思路有了,看代码吧
<script>
function setParentState(objNode)
function setChildState(objNode)//设定子控件状态
function isAllChildrenUnChecked(objChk)
//触发事件
function HandleCheckEvent()
</script>
相关文章推荐
- 用客户端JS实现微软TreeView控件父子节点联选!
- 客户端用JS实现TreeView控件父子节点联选
- Microsoft.web.ui treeview 中树型控件的选择,选中节点父子节点同时选中,解决客户端选择以后,在后台代码中无法得到选中节点的值
- 用JS实现VS2005 TreeView的checkBox的父子节点级联----取自YYControls
- TreeView控件的CheckBox自动实现父子节点递归选定
- 保持TreeView(微软的)父子节点的CheckBox节点状态一致的一种方法
- Asp.Net TreeView实现父子节点联动效果
- C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中全部子节点?
- Jquery 实现Asp.net控件 TreeView的二级节点全选/全不选
- ASP.NET TreeView 用JS实现节点的单选功能
- TreeView 滚动条 子节点定位 页面回发刷新后,滚动条自动定位到被选择节点出,javascript库jQuery实现 兼容服务器端控件
- asp.net treeview 控件父子节点级联选中
- TreeView控件在客户端的 全选/全消 脚本实现
- 微软treeview控件异步加载实现方式
- TreeView控件的父节点的全选与不选级联子节点并实现拖动子节点
- 在Winform中的TreeView控件,实现选中/取消选中父节点则自动选择/取消选中对应子节点
- vs2005 TreeView 实现父子节点,复选框联动.
- 树节点移动操作----使用微软treeview控件
- C#加javaScripts实现选中树节点后显示节点内容(微软TreeView)
- 实现TreeView父子节点的联动