TreeView控件的一些关于节点的CheckBox使用
2012-05-16 15:26
295 查看
我们可以很方便的用asp.net的方法生成目录树,不过使用过程中也发现一些问题。
比如在节点前可以添加checkbox,然后通过这些checkbox添加一些操作。
改变checkbox状态的事件应该是TreeNodeCheckChanged,但是实际上这个方法在点击checkbox的时候并没有被正确的激发。
解决方法如下。
后台对treeview添加属性:
TreeView1.Attributes.Add("onclick", "AddPostBack()");
前台添加js方法:
function AddPostBackt() {
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
这样TreeNodeCheckChanged事件可以正确激发了
用e.Node就能取得当前的节点
下面添加下点击某个节点,子节点的选中状态与其保持一致的方法
//选择treeview的节点前的checkbox引发的事件
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (e.Node.ChildNodes.Count > 0) //判断是否有子节点
{
CheckNode(e.Node);
}
}
//根据节点递归保持此节点的子节点的check状态使之一致
private void CheckNode(TreeNode node)
{
foreach (TreeNode tr in node.ChildNodes)
{
tr.Checked = node.Checked;
if (tr.ChildNodes.Count > 0)
{
CheckNode(tr);
}
}
}
比如在节点前可以添加checkbox,然后通过这些checkbox添加一些操作。
改变checkbox状态的事件应该是TreeNodeCheckChanged,但是实际上这个方法在点击checkbox的时候并没有被正确的激发。
解决方法如下。
后台对treeview添加属性:
TreeView1.Attributes.Add("onclick", "AddPostBack()");
前台添加js方法:
function AddPostBackt() {
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
这样TreeNodeCheckChanged事件可以正确激发了
用e.Node就能取得当前的节点
下面添加下点击某个节点,子节点的选中状态与其保持一致的方法
//选择treeview的节点前的checkbox引发的事件
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (e.Node.ChildNodes.Count > 0) //判断是否有子节点
{
CheckNode(e.Node);
}
}
//根据节点递归保持此节点的子节点的check状态使之一致
private void CheckNode(TreeNode node)
{
foreach (TreeNode tr in node.ChildNodes)
{
tr.Checked = node.Checked;
if (tr.ChildNodes.Count > 0)
{
CheckNode(tr);
}
}
}
相关文章推荐
- 学习使用TreeView 控件的TreeNode 对象来获取选中了CheckBox的节点!
- C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中全部子节点?
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- TreeView控件时发现带有CheckBox控件的TreeNode对象(TreeView节点),选择CheckBox无法回发页面
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- 关于android控件PopupMenu使用的一些说明
- 获取iframe中的内容、查找获取指定元素(关于用c++调用WEBBROWSER控件,使用相关接口操作web页面元素的一些方法)
- 关于TreeView中CheckBox的使用
- 树型节点与数据库的动态连接(asp.net 2.0 TreeView控件的使用)
- 关于使用TreeView 控件的简单介绍
- Asp.net 2.0 TreeView控件使用jQuery无刷新添加节点详细说明
- 关于使用ASP.NET2.0中GridView控件的一些技巧。
- 树节点移动操作----使用微软treeview控件
- 关于treeView1_AfterSelect方法中节点的使用(代码介绍)
- 关于android控件属性的一些使用小结
- 游戏开发时关于UGUI的一些控件无法使用的问题
- 关于TreeView控件CheckBox选中事件
- 使用 ParentNodeStyle 属性控制 TreeView 控件中父节点的外观
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)2005-12-23更新
- 关于WdatePicker控件的一些使用心得