C#TreeView数据显示问题,只能显示根节点的数据,子节点的显示不了。
protectedvoidgetmenunode(TreeNodenode,List<CMenu>lmenu){for(inti=0;i<lmenu.Count;i++)...
protected void getmenunode(TreeNode node, List<CMenu> lmenu)
{
for (int i = 0; i < lmenu.Count; i++)
{
if (lmenu[i].Name==node.Text)
{
node.Checked = lmenu[i].Ability;
if (lmenu[i].OrderId != 0)
{
for (int j = 0; j < lmenu.Count;j++)
{
if (lmenu[j].ParentId == lmenu[i].OrderId)
{
TreeNode node1 = new TreeNode();
node1.Text = lmenu[j].Name;
//node1.ChildNodes.Clear();
getmenunode(node1, lmenu);
}
}
}
}
}
}
后台数据库中每个节点都是选中的状态,但是运行的结果如图,只是根节点成功显示了。麻烦高手帮忙看一下。 展开
{
for (int i = 0; i < lmenu.Count; i++)
{
if (lmenu[i].Name==node.Text)
{
node.Checked = lmenu[i].Ability;
if (lmenu[i].OrderId != 0)
{
for (int j = 0; j < lmenu.Count;j++)
{
if (lmenu[j].ParentId == lmenu[i].OrderId)
{
TreeNode node1 = new TreeNode();
node1.Text = lmenu[j].Name;
//node1.ChildNodes.Clear();
getmenunode(node1, lmenu);
}
}
}
}
}
}
后台数据库中每个节点都是选中的状态,但是运行的结果如图,只是根节点成功显示了。麻烦高手帮忙看一下。 展开
若以下回答无法解决问题,邀请你更新回答
展开全部
你没有增加子节点的代码啊。。
追问
我觉得上面一个函数可以不区分根节点和子节点的。现在该如何增加子节点的部分呢?
追答
///
/// TreeView数据绑定
///
///
protected void CreateTreeView()
{
TreeNode rootNode = new TreeNode();
rootNode.Text = "全部";
rootNode.Value = "-1";
BasicTypeTreeView.Nodes.Add(rootNode);
BasicInformationManager BasicManager = new BasicInformationManager();
var tlist = BasicManager.GetAllBasicInfoTypes();
foreach (Model.BasicInforType mtype in tlist)
{
if (mtype.ParentID == 0)
{
TreeNode Node = new TreeNode();
//添加根节点
Node.Text = mtype.BasicTypeName;
Node.Value = mtype.ID.ToString();
Node.ToolTip = "编码" + mtype.BasicCode;
getSubNode(ref Node, mtype.ID);
rootNode.ChildNodes.Add(Node);
}
}
}
///
/// 获取treeView子节点
///
///
///
public void getSubNode(ref TreeNode node, int item)
{
BasicInformationManager BasicManager = new BasicInformationManager();
var tlist = BasicManager.GetBasicInforTypeByParentId(item);
if (tlist.Count > 0)
{
foreach (Model.BasicInforType m in tlist)
{
TreeNode subNode = new TreeNode();
subNode.Text = m.BasicTypeName;
subNode.Value = m.ID.ToString();
subNode.ToolTip = "编码" + m.BasicCode;
getSubNode(ref subNode, m.ID);
node.ChildNodes.Add(subNode); //进行子节点循环添加
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询