3

我已经为此工作了一段时间,但无法解决问题。我搜索了 S/O 和 Google,但没有运气。希望这里有人可以帮助解决这个问题。

我无法在 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();
}
4

3 回答 3

3

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

于 2012-10-05T19:07:16.517 回答
0

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

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

于 2012-10-05T19:06:46.177 回答
0

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

于 2012-10-05T19:12:46.987 回答