检查所有子节点是否检查父节点,反之亦然 [英] Check all child node if check the parent node and vice - versa

查看:61
本文介绍了检查所有子节点是否检查父节点,反之亦然的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我第一次在应用程序中使用树视图,我通过以下代码将其与数据库绑定:

Hi,
I am using tree view first time in my application, I have bind it with database through following code :

protected void PopulateTreeView(TreeNodeCollection parentNode, int parentID, DataTable folders)
        {
            foreach (DataRow folder in folders.Rows)
            {
                if (Convert.ToInt32(folder["parentID"]) == parentID)
                {
                    String key = folder["ID"].ToString();
                    String text = folder["title"].ToString();
                    TreeNodeCollection newParentNode = parentNode.Add(key, text).Nodes;
                    PopulateTreeView(newParentNode, Convert.ToInt32(folder["ID"]), folders);
                }
            }
        }



并在按钮单击上编写以下代码:



and write the following code on button click :

private void button1_Click(object sender, EventArgs e)
        {
            SqlDataAdapter adp = new SqlDataAdapter("viewMyTable", con);
            adp.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt = new DataTable();
            adp.Fill(dt);
            PopulateTreeView(treeView1.Nodes, 0, dt);
        }



现在,我想检查所有子节点,是否选中了子节点的父节点,反之亦然.

如果有人知道答案,请帮助我.

Parveen Rathi



Now I want to check all the child node if the parent node of the children is checked and vice-versa.

Please help me, if somebody knows the answer.

Parveen Rathi

推荐答案

您可以尝试使用此方法(警告:我在脑海中打了这个字,因此可能需要一些调整):

You can try this (warning: I typed this off the top of my head so it may need some tweaks):

// Prevent expansion of a node that does not have any checked child nodes.
private void TreeNode_Clicked(object sender, TreeViewCancelEventArgs e)
{
    bool checkChildren = (e.Node.Checked);
    if (node.Nodes.Count == 0) 
    {
        return;
    }
    foreach (TreeNode childNode in e.Node.Nodes)
    {
        childNode.Checked = !childNode.Checked;
    }
}


这篇关于检查所有子节点是否检查父节点,反之亦然的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆