【转载】关于TreeView和数据库如何进行绑定显示
来源:互联网 发布:斗鱼刷火箭软件 编辑:程序博客网 时间:2024/06/05 05:56
【转载于】tech.it168.com/KnowledgeBase/Articles/0/5/8/058be1cc2a1e95f0dd1e7f9ac71f9d70.htm
需要根据一个表中的数据来显示树形目录,数据库结构如下:》》》》》》》》》》》
构件树形目录的方法如下:
#region 构建TreeView
public bool BuildTree(TreeView tv, DataSet ds)
{
tv.Nodes.Clear();
foreach (DataRow dbRow in ds.Tables[0].Rows)
{
if (dbRow["FatherNumber"].ToString() == string.Empty)
{
dbRow["FatherNumber"] = DBNull.Value;
}
}
ds.Relations.Add("NodeRelation", ds.Tables[0].Columns["TypeNumber"], ds.Tables[0].Columns["FatherNumber"], false);
foreach (DataRow dbRow in ds.Tables[0].Rows)
{
if (dbRow.IsNull("FatherNumber"))
{
TreeNode newNode = CreateNode(dbRow["TypeName"].ToString(), dbRow["TypeNumber"].ToString());
tv.Nodes.Add(newNode);//父节点树
PopulateSubTree(dbRow, newNode);//子节点树
}
}
//展开所有节点
tv.ExpandAll();
return true;
}
private void PopulateSubTree(DataRow dbRow, TreeNode node)
{
foreach (DataRow childRow in dbRow.GetChildRows("NodeRelation"))
{
TreeNode childNode = CreateNode(childRow["TypeName"].ToString(), childRow["TypeNumber"].ToString());
node.Nodes.Add(childNode);
PopulateSubTree(childRow, childNode);
}
}
private TreeNode CreateNode(string text, string tag)//创建节点Node
{
TreeNode node = new TreeNode();
node.Text = text;
node.Tag = tag;
return node;
}
这样调用:public bool BuildTree(TreeView tv, DataSet ds)
{
tv.Nodes.Clear();
foreach (DataRow dbRow in ds.Tables[0].Rows)
{
if (dbRow["FatherNumber"].ToString() == string.Empty)
{
dbRow["FatherNumber"] = DBNull.Value;
}
}
ds.Relations.Add("NodeRelation", ds.Tables[0].Columns["TypeNumber"], ds.Tables[0].Columns["FatherNumber"], false);
foreach (DataRow dbRow in ds.Tables[0].Rows)
{
if (dbRow.IsNull("FatherNumber"))
{
TreeNode newNode = CreateNode(dbRow["TypeName"].ToString(), dbRow["TypeNumber"].ToString());
tv.Nodes.Add(newNode);//父节点树
PopulateSubTree(dbRow, newNode);//子节点树
}
}
//展开所有节点
tv.ExpandAll();
return true;
}
private void PopulateSubTree(DataRow dbRow, TreeNode node)
{
foreach (DataRow childRow in dbRow.GetChildRows("NodeRelation"))
{
TreeNode childNode = CreateNode(childRow["TypeName"].ToString(), childRow["TypeNumber"].ToString());
node.Nodes.Add(childNode);
PopulateSubTree(childRow, childNode);
}
}
private TreeNode CreateNode(string text, string tag)//创建节点Node
{
TreeNode node = new TreeNode();
node.Text = text;
node.Tag = tag;
return node;
}
SqlConnection con = new SqlConnection("server=192.168.1.192;database=AUDE_KCGL;uid=sa;pwd=;");
SqlDataAdapter sda = new SqlDataAdapter("select TypeNumber,FatherNumber,TypeName from KC_ObjectType", con);
DataSet dsTree = new DataSet();
sda.Fill(dsTree);
//调用方法构件树形目录
BuildTree(this.treeView1, dsTree);
程序运行效果:SqlDataAdapter sda = new SqlDataAdapter("select TypeNumber,FatherNumber,TypeName from KC_ObjectType", con);
DataSet dsTree = new DataSet();
sda.Fill(dsTree);
//调用方法构件树形目录
BuildTree(this.treeView1, dsTree);
- 【转载】关于TreeView和数据库如何进行绑定显示
- 【转载】ASP.NET中如何实现 TreeView绑定数据库
- 求助:TreeView如何绑定数据库
- 【转载百度空间】TreeView绑定数据库
- ASP.NET TreeView动态绑定数据库显示
- 关于TreeView绑定数据库的表数据如何,代码在前两篇博文中~~
- asp.net TreeView动态绑定数据库显示数据
- Treeview绑定SQL数据库
- TREEVIEW数据库绑定
- TreeView绑定数据库
- TREEVIEW数据库绑定
- TreeView绑定数据库
- TreeView控件数据库绑定
- asp treeview绑定数据库
- TreeView绑定数据库
- Treeview绑定数据库
- TreeView绑定数据库
- TreeView绑定数据库
- [J2EE开发] helloword!
- 我思故我存,在爱情的世界里,每个人的角色没有好欢之分
- 字符处理
- 项目那点事之OPC
- 【stanford】梯度、梯度下降,随机梯度下降
- 【转载】关于TreeView和数据库如何进行绑定显示
- 将数字金额转换成大写人民币形式
- 那些没有能够说出来的话,只有自己明白
- void* LPVOID是些什么东东
- getopt
- C语言之unsigned int和int的运算
- js验证整数加保留小数点的简单实例
- BackgroundWorker 基本用法
- clojure语法小记