各方面的原因,需要一个控件,满足以下要求:
1、像DropDownList一样的控件,可以下拉选择。
2、下拉选择的内容是一个树形目录,而且要多选(支持CheckBox)
3、返回数据时,可能会有这么几种要求:
A:AllNodes 模式,返回所有节点
B:ExceptNodeWithAnyChildrenChecked模式,在选中节点中,若一节点的任何一子节点被选中,则不返回此节点,除此之外所有节点返回
C:ExceptNodeWithAllChildrenChecked模式,在选中节点中,若一节点的所有子节点被选中,则不返回此节点,除此之外所有节点返回
D:ExceptChildrensWithParentChecked模式,若某一节点选中,则不返回其所有子节点(无论子节点选中与否)
在网上找了许多,也没有一个能够符合这种要求的,所以,干脆自己写一个。
思路:
1、目标:制作成Web User Control,名称为ComboBoxTree.ascx
2、ComboBoxTree内容:
文本框一个:显示用户选择的节点名称,focus时,弹出ComboBoxTreePopDiv,
Treeview一个:显示带checkbox的tree
Button一个:用户选择N个节点后,进行确定,关闭Div
Div数个:ComboBoxTreePopDiv 弹出层,里边包含Treeview和Button(确认按钮)
3、实现。。略,请看代码
4、截图演示:
选择时的截图:
显示选中节点的数据
使用说明: