asp.net Treeview问题(无法显示子节点)

时间:2012-10-05 18:55:31

标签: c# asp.net treeview

我一直在研究这个问题,但无法解决问题。我搜索过S / O&谷歌,但没有运气。希望有人在这里可以帮助解决这个问题。

我无法在TreeView控件中显示子节点。正在从数据库中检索数据 根节点看起来很好,但没有显示子节点。如何显示子节点?

我的代码是:

private void PopulateTreeNode(DataSet dsList)
{
    var treeNode = new TreeNode();
    foreach (DataRow dr in dsList.Tables[0].Rows)
    {
        if (dr["RecordTypeID"].ToString() == "1")
        {
            TreeNode NewNode = new TreeNode(dr["CustomerName"].ToString(), dr["customerID"].ToString());
            treeCustomer.Nodes.Add(NewNode);
        }
        else if (dr["RecordTypeID"].ToString() == "2")
        {
            TreeNode pNode = new TreeNode(dr["CustomerName"].ToString(), dr["customerID"].ToString());
            pNode.ChildNodes.Add(pNode);
        }
        else if (dr["RecordTypeID"].ToString() == "3")
        {
            TreeNode pNode = new TreeNode(dr["CustomerName"].ToString(), dr["customerID"].ToString());
            pNode.ChildNodes.Add(pNode);
        }
    }
    treeCustomer.Nodes.Add(treeNode);
    treeCustomer.DataBind();
}

3 个答案:

答案 0 :(得分:3)

如果您手动添加此类节点,则无需调用treeCustomer.DataBind()。它可能正在清理你的树。

答案 1 :(得分:0)

您是否尝试过调用treeCustomer.ExpandAll()?

您可能还需要设置树视图的各种属性;关于显示扩展图像等。

答案 2 :(得分:0)

看起来您正在将pNode添加到pNode的子节点。这意味着它永远不会被添加到treeCustomer,因为只有treeNode被添加到treeCustomer。它可能应该添加到treeNode的子节点,或者可能添加为treeNode的节点。