『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)(18) /// </summary> /// <param name="Nds">当前层的所有结点</param> /// <param name="parentId">当前层的父亲结点</param> private void InitTreeView(TreeNodeCollection Nds,string parentId) { //建立视图,为以后设立查询条件作准备 DataView mydataview=new DataView(); //新节点 TreeNode newNode; //新节点的父亲节点ID string newNodeFatherId; //dataview的数据源 mydataview.Table=funcDataTable; //过滤条件 mydataview.RowFilter="上级功能ID="+parentId; foreach(DataRowView drv in mydataview) { newNode=new TreeNode(); newNode.Tag=drv["功能ID"].ToString(); newNode.Text=drv["功能名称"].ToString(); Nds.Add(newNode); newNodeFatherId=drv["上级功能ID"].ToString(); //递归调用遍历当前节点的子节点 InitTreeView(newNode.Nodes,newNode.Tag.ToString ()); } }
/// <summary> /// 取得TreeView某一节点所有的子结点编号和子结点显示名称 /// </summary> /// <param name="enumNodes"></param> /// <returns></returns> private Hashtable GetNodesValue(IEnumerator enumNodes) { //存储树结点信息的哈希表 Hashtable result =new Hashtable();
//当前结点 TreeNode node = null; //当前节点的父亲结点 TreeNode father = null;
//取得所有结点的编号和显示名称 while(enumNodes.MoveNext()) {