TreeView绑定石一个问题,经过研究之后本人终于实现了.创建了TreeView控件之后,可以通过设置属性与调用方法对各Node对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折叠Node对象来显示或隐藏所有子节点。Collapse、Expand和NodeClick三个事件也提供了编程功能。 用for循环实现该方法.必须的两个参数 ID和父节点ID
以下是代码:
/// <summary>
/// 一次性获取TreeNode
/// </summary>
/// <returns></returns>
public TreeNode GetTreeNodeAll()
{
TreeNode pnode = new TreeNode();
TreeNode tempnode;
IList<MemuLinkInfo> ilist = dal.GetListAll();
if (ilist == null || ilist.Count == 0)
{
return pnode;
}
for (int i = 0; i < ilist.Count; i++)
{
tempnode = new TreeNode();
tempnode.Value = ilist[i].ID;
tempnode.Text = ilist[i].Name;
tempnode.ToolTip = ilist[i].ParentID;
if (string.IsNullOrEmpty(ilist[i].ParentID))
continue;
pnode.ChildNodes.Add(tempnode);
ilist[i].ParentID = string.Empty;
GetTreeChildNodeAll(tempnode, ilist[i], ilist);
}
return pnode;
}
private void GetTreeChildNodeAll(TreeNode node, MemuLinkInfo info, IList<MemuLinkInfo> ilist)
{
for (int i = 0; i < ilist.Count; i++)
{
if (string.IsNullOrEmpty(ilist[i].ParentID))
continue;
if (info.ID == ilist[i].ParentID)
{
TreeNode tempnode = new TreeNode();
tempnode.Value = ilist[i].ID;
tempnode.Text = ilist[i].Name;
tempnode.ToolTip = ilist[i].ParentID;
node.ChildNodes.Add(tempnode);
ilist[i].ParentID = string.Empty;
GetTreeChildNodeAll(tempnode, ilist[i], ilist);
}
}
}
转载请注明:http://www.gkxsn.com/634002697951093750.html