如何从代码隐藏中检查Treeview控件中相应节点的复选框?

时间:2010-11-19 06:51:15

标签: c# asp.net treeview

我想知道如何基于匹配后面代码中的条件来检查asp.net树视图节点(它可以是父节点还是子节点)的复选框?首先,我从数据库中获取所有节点。之后,我想检查对应于该用户所属ID的复选框。

我希望我能清楚地解释我的要求。

3 个答案:

答案 0 :(得分:1)

DataSet dt = objUserClient.GetAllUserClientGroupDetails(UserId);

        foreach (TreeNode parent in TreeView1.Nodes)
        {
            foreach (TreeNode child in parent.ChildNodes)
            {
                for (int j = 0; j < dt.Tables[0].Rows.Count; j++)
                {
                    if (child.Value.Trim() == dt.Tables[0].Rows[j]["ClientId"].ToString().Trim())
                    {
                        child.Checked = true;
                        parent.Checked = true;
                        break;
                    }
                }
            }
        }

答案 1 :(得分:0)

在Page_Load事件中,输入以下代码:

TreeNode node = myTreeView.nodes[1];
nodes.Checked = true;

这将检查第二个节点中的复选框。还有其他方法可以找到节点,例如myTreeView.FindNode(path),或者通过使用foreach循环枚举节点。如果您指定了如何识别需要检查哪些注释,我可以提供更多信息。

答案 2 :(得分:0)

    //Consider the below dataset holds data
     DataSet dsItemsFind = new DataSet();
    //Use Looping to browse through the Treeview and DataTable
    for (int i = 0; i < Treeview1.Nodes.Count; i++)
    {
        for (int j = 0; j < dsItemsFind.Tables[0].Rows.Count; j++)
        {
            if (Treeview1.Nodes[i].Value.ToString() == dsItemsFind.Tables[0].Rows[j]["ColumnName"].ToString())
            {
                //If ur Treeview Node value is = the Column value your looking for
                //Then the Below line will get called
                Treeview1.Nodes[i].Checked=true;                   
            }
        }
    }