TreeView数据绑定方法
2010-01-29 16:12
459 查看
using System; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class Left : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindTree(); //InitTree(); } } #region 主从表绑定 private void BindTree() { DataSet dst = GetTreeViewData(); TreeView1.ShowCheckBoxes = TreeNodeTypes.All; foreach (DataRow masterRow in dst.Tables["province"].Rows) { TreeNode masterNode = new TreeNode((string)masterRow["province"]); TreeView1.Nodes.Add(masterNode); foreach (DataRow childRow in masterRow.GetChildRows("Children")) { TreeNode childNode =new TreeNode((string)childRow["city"]); masterNode.Expanded = false; masterNode.ChildNodes.Add(childNode); } } } private DataSet GetTreeViewData() { string constring = System.Configuration.ConfigurationSettings.AppSettings["ConnectionStr"]; SqlConnection con = new SqlConnection(constring); SqlDataAdapter daprovince = new SqlDataAdapter("SELECT * FROM province", con); SqlDataAdapter dacity = new SqlDataAdapter("SELECT * FROM city", con); DataSet ds = new DataSet(); daprovince.Fill(ds, "province"); dacity.Fill(ds, "city"); ds.Relations.Add("Children", ds.Tables["province"].Columns["provinceid"], ds.Tables["city"].Columns["father"]); return ds; } #endregion #region 递归绑定同一个表数据 private void InitTree() { DataTable dt = GetTreeViewTable(); DataView dv = new DataView(dt); dv.RowFilter = "ParentID=0"; TreeView1.ShowCheckBoxes = TreeNodeTypes.All; foreach (DataRowView drv in dv) { TreeNode node = new TreeNode(); node.Text = drv["text"].ToString(); node.Value = drv["ID"].ToString(); node.Expanded = false; TreeView1.Nodes.Add(node); AddReplies(dt,node); } } private DataTable GetTreeViewTable() { string constring = System.Configuration.ConfigurationSettings.AppSettings["ConnectionStr"]; SqlConnection con = new SqlConnection(constring); SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM treeview", con); DataTable dt = new DataTable(); da.Fill(dt); return dt; } private void AddReplies(DataTable dt, TreeNode node) { DataView dv = new DataView(dt); dv.RowFilter = "ParentID='" + node.Value + "'"; foreach (DataRowView row in dv) { TreeNode replyNode = new TreeNode(); replyNode.Text = row["text"].ToString(); replyNode.Value = row["ID"].ToString(); replyNode.Expanded = false; node.ChildNodes.Add(replyNode); AddReplies(dt,replyNode); } } #endregion }
相关文章推荐
- TreeView数据绑定的方法
- TreeView数据绑定方法
- 两种方法创建WPF目录树TreeView和GridView数据绑定
- TreeView数据绑定的方法(可实现无限递归)
- TreeView递归绑定数据的两种方法
- TreeView数据绑定方法
- 使用asp.net递归的方法来实现treeview的数据绑定
- VB.NET中treeview使用方法二与access数据库的数据绑定
- C# .NET treeView(树形控件)绑定数据的通用方法 (精)
- 【原创】SQL数据库数据绑定到TreeView菜单目录的类方法实现
- TreeView数据绑定的方法
- 小D的TreeView数据绑定方法
- ASP.NET2.0中 TreeView 和ORACLE 数据绑定的一种方法
- asp.net中 HyperLink NavigateUrl超级链接数据绑定方法
- 选择好适合自已的数据绑定方法!
- GridView使用DataBind方法绑定数据时的分页问题[转]
- LISTVIEW绑定数据的两种方法
- WPF 数据绑定TreeView+DataGrid+XML
- vue遇到过的坑(父组件向输入框组件传值进去,然后子组件利用传进来的数据进行数据绑定的问题与解决方法)
- 三种方法绑定三列数据