C# TreeView无限目录树实现方法
程序员文章站
2022-05-18 14:18:26
本文实例讲述了c# treeview无限目录树实现方法。分享给大家供大家参考,具体如下:
#region 绑定客户树
protected void bindtr...
本文实例讲述了c# treeview无限目录树实现方法。分享给大家供大家参考,具体如下:
#region 绑定客户树 protected void bindtreeview() { treeview1.nodes.clear(); string userid = session["userid"].tostring(); string sqlwr = new sy_adminuser().getuseridlistbyloginuser(userid, "customerservice", false); datatable dt = maticsoft.dbutility.dbhelperora.query("select parentid,customerid,customershort,customerservice from cu_customer where isdelete='0' " + sqlwr + " order by customershort ").tables[0]; //定义临时树节点 treenode tmpnd; //特殊处理 foreach (datarow dr in dt.rows) { datarow[] drs = dt.select("customerid='" + dr["parentid"] + "'"); if (drs.length == 0) //无上级节点 { dr["parentid"] = "0"; } } dt.acceptchanges(); //从datatable中得到所有父节点为null的datarow形成的数组 datarow[] rows = dt.select("parentid='0'"); //遍历根节点数组 foreach (datarow row in rows) { tmpnd = new treenode(); //给根节点赋值 tmpnd.value = row["customerid"].tostring(); tmpnd.text = row["customershort"].tostring(); tmpnd.expanded = true; //将节点加入到树中 treeview1.nodes.add(tmpnd); addtree(dt, treeview1, tmpnd, row["customerid"].tostring()); } } public void addtree(datatable dt, treeview tv, treenode pnode, string customerid) { datarow[] rows = dt.select("parentid='" + customerid + "'"); treenode tmpnd; foreach (datarow row in rows) { tmpnd = new treenode(); //给根节点赋值 tmpnd.value = row["customerid"].tostring(); tmpnd.text = row["customershort"].tostring(); tmpnd.expanded = true; pnode.childnodes.add(tmpnd); //将节点加入到树中 //treeview1.nodes.add(pnode); addtree(dt, treeview1, tmpnd, row["customerid"].tostring()); } } #endregion
更多关于c#相关内容感兴趣的读者可查看本站专题:《c#程序设计之线程使用技巧总结》、《c#操作excel技巧总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程》
希望本文所述对大家c#程序设计有所帮助。
上一篇: 一个ASP小马