TreeView数据绑定的方法(可实现无限递归)
来源:互联网 发布:软件测试考核 编辑:程序博客网 时间:2024/05/05 00:10
数据表为:
CREATE TABLE [dbo].[QuHua] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,--自增的标记列
[NAME] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,--行政区划的名称
[ParentID] [int] NOT NULL --行政区划的上一级区划ID,最高级区划的上一级默认为0
) ON [PRIMARY]
GO
---插入测试数据
Insert Into dbo.QuHua (NAME,ParentID) Values ('北京',0)
Insert Into dbo.QuHua (NAME,ParentID) Values ('山东',0)
Insert Into dbo.QuHua (NAME,ParentID) Values ('河北',0)
Insert Into dbo.QuHua (NAME,ParentID) Values ('海淀',1)
Insert Into dbo.QuHua (NAME,ParentID) Values ('中关村',4)
Insert Into dbo.QuHua (NAME,ParentID) Values ('济宁',2)
Insert Into dbo.QuHua (NAME,ParentID) Values ('曲阜',6)
Insert Into dbo.QuHua (NAME,ParentID) Values ('济南',2)
/// <summary>
/// 根据递归查询结果动态生成TreeView
/// 由于算法效率问题,不适合数据量的情况
/// </summary>
private void CreateTreeView()
{
string connetion = "Data Source=. ;Initial Catalog=MIS_New;Integrated Security=True";
using (SqlConnection cn = new SqlConnection(connetion))
{
cn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from QuHua", cn);
DataTable dt = new DataTable();
da.Fill(dt);
//首先把第一级的行政区划取出生成TreeView的节点
//作为递归运算的入口
CreateTreeViewRecursive(treeView1.Nodes, dt, 0);
}
}
/// <summary>
/// 递归查询
/// </summary>
/// <param name="nodes">TreeView的节点集合</param>
/// <param name="dataSource">数据源</param>
/// <param name="parentid">上一级行政区划的标识码</param>
private void CreateTreeViewRecursive(TreeNodeCollection nodes,DataTable dataSource,int parentid)
{
string filter;
filter = string.Format("parentid={0}", parentid);
DataRow[] drarr = dataSource.Select(filter);
TreeNode node;
foreach (DataRow dr in drarr)
{
node = new TreeNode();
node.Text = Convert.ToString(dr["name"]);
node.Tag = Convert.ToString(dr["id"]);
nodes.Add(node);
CreateTreeViewRecursive(node.ChildNodes,dataSource,Convert.ToInt32(node.Tag));
}
}
- TreeView数据绑定的方法(可实现无限递归)
- 无限分类递归实现TreeView数据绑定代码
- TreeView 递归 无限级 绑定数据
- TreeView 绑定数据---递归查询无限极TreeView
- treeview的数据绑定递归
- 能用的treeview数据无限绑定
- TreeView递归绑定数据
- TreeView数据绑定的方法
- c# TreeView 数据递归绑定的算法
- 用递归无限级绑定 treeview,DropDownList
- Treeview中利用递归无限绑定
- 关于TreeView的无限绑定
- Treeview的递归绑定
- Treeview的递归绑定
- Treeview的递归绑定
- C# 递归的应用 TreeView递归绑定数据
- C# 递归的应用 TreeView递归绑定数据
- C# 递归的应用 TreeView递归绑定数据
- windows开发应用到的数据类型
- 用vmware安装redhat 9出现“光盘无法被挂载”错误的解决办法
- /LGC图形渲染/MD2 file format (Quake 2's models)
- MFC socket程序开发
- ASCII码字符表
- TreeView数据绑定的方法(可实现无限递归)
- MFC中调用软键盘
- 用WORD2007写CSDN的BLOG
- MFC socket编程 网络五子棋详解
- Java Web开发学习路径
- /LGC图形渲染/基于 OpenGL 进行 3D 图形开发
- 毕业5年决定你的命运 --------值得所有不甘平庸的人看看
- MFC - 打开系统文件对话框
- Oracle创建表空间