使用递归方法为TreeView添加数据
2011-11-29 20:47
441 查看
使用递归方法为TreeView添加数据 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bindTree(); } } protected DataTable GetTreeData() { string sql = ConfigurationManager.ConnectionStrings["sql"].ConnectionString; using (SqlConnection conn = new SqlConnection(sql)) { SqlCommand comm = conn.CreateCommand(); comm.CommandText = "select * from MenuTree order by ParentID,MenuOrder"; SqlDataAdapter da = new SqlDataAdapter(comm); DataSet ds = new DataSet(); da.Fill(ds); return ds.Tables[0]; } } private void bindTree() { DataTable dt = GetTreeData(); this.fillNode(dt, null); } private void fillNode(DataTable dt, TreeNode node) { DataView dv = new DataView(dt); if (node == null) { dv.RowFilter = "parentID='0'"; //为根节点的子节点 } else { dv.RowFilter = "parentID='" + node.Value + "'";//对应节点的子节点 } //遍历填充节点的所有子节点,如果传入的节点node为叶子节点,遍历要退出,不再进行递归 foreach (DataRowView drv in dv) { TreeNode no = new TreeNode(drv["MenuName"].ToString(), drv["MenuID"].ToString()); fillNode(dt, no); //填充no节点的子节点 if (node == null) { this.TreeView1.Nodes.Add(no); } Else { node.ChildNodes.Add(no); } } }
相关文章推荐
- 使用递归方法为TreeView添加数据
- 使用递归方法为TreeView添加数据
- 使用asp.net递归的方法来实现treeview的数据绑定
- 在vs2008里使用comboBox编写MFC程序 向comboBox添加数据方法
- List使用add方法添加数据时的覆盖问题
- 兔子-使用bmob的save()方法添加数据,出现NullPointerException
- C#使用DropDownList绑定添加新数据的方法汇总
- 使用递归方法获得TreeView中CheckBox选中的节点
- 使用mobile jQuery 动态给select下拉添加数据,选中项默认不显示的解决方法。
- ADO.NET使用带参数方法实现添加、删除和修改数据
- 添加数据文件时使用已存在的文件名的方法 ORA-00933
- 针对使用Myeclipse进行JDBC链接MySQL时添加中文数据出现?的解决方法!
- 一种使用递归从数据库读取数据来动态建立菜单的方法
- 急救! 把access数据库导入sqlserver2000后, 使用rs.addnew方法无法添加数据!
- 数据访问函数库的使用方法(一)——添加修改数据
- 《转》---使用递归方法DataTable 绑定 TreeView
- 数据访问函数库的使用方法(一)——添加修改数据
- 数据结构——使用非递归方法后序遍历二叉树
- 递归方法读取数据库中的数据,添加到TreeView中
- TreeView数据绑定的方法(可实现无限递归)