1 /// <summary> 2 /// 绑定TreeView(利用TreeNodeCollection) 3 /// </summary> 4 /// <param name="param_DT_SR">TreeNodeCollection(TreeView的节点集合)</param> 5 /// <param name="param_TVNC">父id的值</param> 6 /// <param name="param_SRPID">数据库 父id 字段名</param> 7 /// <param name="param_SRID">数据库 id 字段名</param> 8 /// <param name="param_Name">数据库 文本 字段值</param> 9 private void Bind_Tv(DataTable param_DT_SR, TreeViewNode param_TVNC, string param_SRPID, string param_SRID, string param_Name) 10 { 11 DataView dv = new DataView(param_DT_SR);//将DataTable存到DataView中,以便于筛选数据 12 TreeViewNode local_TreeViewNode;//建立TreeView的节点(TreeNode),以便将取出的数据添加到节点中 13 //以下为三元运算符,如果父id为空,则为构建“父id字段 is null”的查询条件,否则构建“父id字段=父id字段值”的查询条件 14 string filter = string.Format("PID='{0}'", param_SRPID); 15 dv.RowFilter = filter;//利用DataView将数据进行筛选,选出相同 父id值 的数据 16 foreach (DataRowView drv in dv) 17 { 18 local_TreeViewNode = new TreeViewNode();//建立一个新节点(学名叫:一个实例) 19 local_TreeViewNode.Name = drv[param_SRID].ToString();//节点的Value值,一般为数据库的id值 20 local_TreeViewNode.Text = drv[param_Name].ToString();//节点的Text,节点的文本显示 21 local_TreeViewNode.NavigateUrl = drv["LinkUrl"].ToString();//链接地址 22 param_TVNC.Nodes.Add(local_TreeViewNode);//将该节点加入到TreeNodeCollection(节点集合)中 23 Bind_Tv(param_DT_SR, local_TreeViewNode, local_TreeViewNode.Name, param_SRID, param_Name);//递归(反复调用这个方法,直到把数据取完为止) 24 } 25 } 26 27 private void Bind_Tv1(DataTable param_DT_SR, ASPxTreeView param_ATV, string param_SRPID, string param_SRID, string param_Name) 28 { 29 DataView dv = new DataView(param_DT_SR);//将DataTable存到DataView中,以便于筛选数据 30 TreeViewNode local_TreeViewNode;//建立TreeView的节点(TreeNode),以便将取出的数据添加到节点中 31 //以下为三元运算符,如果父id为空,则为构建“父id字段 is null”的查询条件,否则构建“父id字段=父id字段值”的查询条件 32 string filter = string.Format("PID='{0}'", param_SRPID); 33 dv.RowFilter = filter;//利用DataView将数据进行筛选,选出相同 父id值 的数据 34 foreach (DataRowView drv in dv) 35 { 36 local_TreeViewNode = new TreeViewNode();//建立一个新节点(学名叫:一个实例) 37 local_TreeViewNode.Name = drv[param_SRID].ToString();//节点的Value值,一般为数据库的id值 38 local_TreeViewNode.Text = drv[param_Name].ToString();//节点的Text,节点的文本显示 39 local_TreeViewNode.NavigateUrl = drv["LinkUrl"].ToString();//链接地址 40 param_ATV.Nodes.Add(local_TreeViewNode);//将该节点加入到TreeNodeCollection(节点集合)中 41 Bind_Tv(param_DT_SR, local_TreeViewNode, local_TreeViewNode.Name, param_SRID, param_Name);//递归(反复调用这个方法,直到把数据取完为止) 42 } 43 }
/******************************************************************************************
*【Author】:網絡蛀蟲
*【Date】:2013年06月15日
*【Notice】:
*1、本文为原创技术文章,首发博客园个人站点(http://www.cnblogs.com/armyant/),转载和引用请注明作者及出处。
*2、本文必须全文转载和引用,任何组织和个人未授权不能修改任何内容,并且未授权不可用于商业。
*3、本声明为文章一部分,转载和引用必须包括在原文中。
******************************************************************************************/