treeView问题

jhlz1968 2010-10-20 05:33:40
有一数据表结构如下:

bh gzdd xm
1 A 王
2 B 张
3 A 赵
4 C 钱
......

怎样用 treeView 以 gzdd 为根节点,以 xm 为子节点 显示出来。

A
--王
--赵
B
--张
C
--钱

...全文
137 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhlz1968 2010-10-20
  • 打赏
  • 举报
回复
wuyq11 的方法很有用。

先 select distinct gzdd from tb 加入根节点 gzdd
再重新 select * from tb 加入子节点 xm
justsoso66 2010-10-20
  • 打赏
  • 举报
回复
要是姓名也不允许重复的话就再判断一下吧
justsoso66 2010-10-20
  • 打赏
  • 举报
回复
public void BindTreeView(DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
string gzdd = dt.Rows[i]["gzdd"].ToString();
string xm=dt.Rows[i]["xm"].ToString();
if (this.treeView1.Nodes.IndexOfKey(gzdd)>-1)
{
this.treeView1.Nodes[gzdd].Nodes.Insert(0,xm, xm);
}
}
}

private DataTable GetData(SqlConnection conn)
{
string sSql = "select * from myTable order by gzdd";
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(sSql, conn);
sda.Fill(dt);
return dt;
}
jhlz1968 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyq11 的回复:]
select distinct gzdd from tb
绑定到treeview
再根据gzdd 递归绑定数据
SQL 树结构
http://topic.csdn.net/u/20071126/20/b5093a74-3d4e-405f-a606-f0ead4d81509.html
[/Quote]

对递归用法不太懂
wuyq11 2010-10-20
  • 打赏
  • 举报
回复
select distinct gzdd from tb
绑定到treeview
再根据gzdd 递归绑定数据
SQL 树结构
http://topic.csdn.net/u/20071126/20/b5093a74-3d4e-405f-a606-f0ead4d81509.html
编程爱好者L 2010-10-20
  • 打赏
  • 举报
回复
bh gzdd xm gzddid
1 A 王 1
2 B 张 2
3 A 赵 1
4 C 钱 4

数据表改为这样
flyerwing 2010-10-20
  • 打赏
  • 举报
回复
加一次就不加了就好了吗.
老董杂货铺 2010-10-20
  • 打赏
  • 举报
回复
http://www.csharpwin.com/csharpspace/9313r4673.shtml
http://tech.it168.com/a2009/0515/279/000000279456.shtml

看一下,具体的例子
cc_net 2010-10-20
  • 打赏
  • 举报
回复
最简单的方法,遍历一次

gzdd已存在就添加子节点,不存在先增加gzdd节点,在添加子节点

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧