我一直在研究这个问题,但无法解决问题。我搜索过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();
}
答案 0 :(得分:3)
如果您手动添加此类节点,则无需调用treeCustomer.DataBind()。它可能正在清理你的树。
答案 1 :(得分:0)
您是否尝试过调用treeCustomer.ExpandAll()?
您可能还需要设置树视图的各种属性;关于显示扩展图像等。
答案 2 :(得分:0)
看起来您正在将pNode添加到pNode的子节点。这意味着它永远不会被添加到treeCustomer,因为只有treeNode被添加到treeCustomer。它可能应该添加到treeNode的子节点,或者可能添加为treeNode的节点。