社区
C#
帖子详情
WinForm中TreeView如何绑定数据库??
yang_yifan
2006-11-01 03:30:47
ID NAME PARENTID
1 电器 0
2 电视机 1
3 洗衣机 1
4 冰箱 1
想实现的树是
电器
|
----电视机
----洗衣机
----冰箱
...全文
1099
38
打赏
收藏
WinForm中TreeView如何绑定数据库??
ID NAME PARENTID 1 电器 0 2 电视机 1 3 洗衣机 1 4 冰箱 1 想实现的树是 电器 | ----电视机 ----洗衣机 ----冰箱
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
38 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
lovevsnet
2006-11-15
打赏
举报
回复
我写的XmlTreeView for WinForm已经完成,就是在节点增至3000个以上时再增加一节点要化0.5秒左右,有点慢,节点的级数和int一样多(当然我也可改成long int)
螳螂86
2006-11-15
打赏
举报
回复
我相信来CSDN的 朋友们,可以说,,,
至少有一半以上不懂的,,
这个朋友,也是关于无限级分类的,都是说的比较模糊的...
看下我的帖子,还有好多类似我的帖子,,都是没真正了解的!都是模糊概念
http://community.csdn.net/Expert/topic/5158/5158852.xml?temp=.7078668
http://community.csdn.net/Expert/topic/5158/5158877.xml?temp=.5437586
我帖子上面2个朋友发出来了那2部分代码确实不错!
可以实现,但是我是真的怎么调都没成功......或许是我不行吧....但是我会认真对待的
....没有详细的理解,,,,
象我一样只是了解表面而已!!!我可以说楼主,,到目前为止还是没有懂无限分类的真正的用法.
没有真正的理解叫程序员???
说实在的,我搞不懂之前,,我会在这里一直等下去的!!!
losedxyz
2006-11-15
打赏
举报
回复
mark
CN_Azure
2006-11-08
打赏
举报
回复
XML是挺好的.只是好象用的人还不是那么多
AllenIverson
2006-11-03
打赏
举报
回复
学习了
yuzhlhua
2006-11-03
打赏
举报
回复
mark 想找个好方法.
yang_yifan
2006-11-03
打赏
举报
回复
奇怪。为什么呢?应该是填充Dataset的时候出了问题
lovevsnet
2006-11-03
打赏
举报
回复
强烈建议兄弟们自己写xmlTreeView组件
目前我写好的基本上能满足你的要求,但还有BUG
我在:http://community.csdn.net/Expert/topic/5096/5096131.xml?temp=.3367731#top
也建议用自己写组件,不过大多数人还是没理解XML带来的好处
yang_yifan
2006-11-03
打赏
举报
回复
头疼。。。两天了还没解决,我试了好多方法.总是找不到到底哪里出错了
Knight94
2006-11-02
打赏
举报
回复
ParentID是什么类型的
qiufas
2006-11-02
打赏
举报
回复
现在有成型的例子了么?有的话发一份,我正在研究
qiufa_68@163.com 谢谢
wuhuiITren
2006-11-02
打赏
举报
回复
mark
yang_yifan
2006-11-02
打赏
举报
回复
ID NAME PARENTID
1 电器 0
2 电视机 1
3 洗衣机 1
4 冰箱 1
连接字符串
OracleConnection OConn = new OracleConnection("User Id=MyID;PassWord=MyPass;Data Source=192.168.2.1:1521/MyData;");
这个是表结构.是不是我在填充数据的时候出了错?
HSB19820706
2006-11-02
打赏
举报
回复
先看看数据查出来对不对
CN_Azure
2006-11-02
打赏
举报
回复
再过来看看.
yang_yifan
2006-11-02
打赏
举报
回复
Knight94(愚翁)我看了你写的,也按照你写的方式写了.但读取出来只有一个跟父结点
private DataTable CreateTable()
{
try
{
OConn.Open();//打开数据库连接
OracleDataAdapter da = new OracleDataAdapter("select * from Mytable",OConn);//建立数据适配器
da.Fill(dt);//进行数据填充
return dt;//返回一个数据表dt
}catch(Exception ex)
{
throw(ex);
}finally
{
OConn.Close();
}
}
private void CreateTree()
{
DataRow[] drArray = dt.Select("ParentID=0",
"ParentID ASC",
DataViewRowState.CurrentRows);
if (drArray.Length == 0) return;
TreeNode tnNew = null;
foreach (DataRow dr in drArray)
{
tnNew = treeView1.Nodes.Add(dr["NAME"].ToString());
tnNew.Tag = dr["ID"].ToString();//Save "EmployeeID" in node's tag
CreateTreeNode(ref tnNew);
}
}
private void CreateTreeNode(ref TreeNode tnParent)
{
//Get children data info
DataRow[] drArray = dt.Select(
string.Format("ParentID = {0}", tnParent.Tag),
"ParentID ASC",
DataViewRowState.CurrentRows);
if (drArray.Length == 0) return;
TreeNode tnNew = null;
foreach (DataRow dr in drArray)
{
tnNew = tnParent.Nodes.Add(dr["NAME"].ToString());
tnNew.Tag = dr["ID"].ToString();//Save "EmployeeID" in node's tag
CreateTreeNode(ref tnNew);
}
}
请指教
gb_boy
2006-11-02
打赏
举报
回复
mark
chaney
2006-11-02
打赏
举报
回复
递归就是速度慢了。一个只有48条记录的表,生成3级的树竞要花2、3秒左右。。。
当然我是直接在库里读的。如果先放到dataTable里可能会好些?
yang_yifan
2006-11-02
打赏
举报
回复
dt为{},而drArray为{维数:[1]}
Knight94
2006-11-02
打赏
举报
回复
这就很怪了,你单步调试,看看dt.Select后的结果是什么
加载更多回复(18)
相关推荐
C#
winform
treeView
控件的使用
绑定
数据库
C#
winform
treeView
控件的使用
treeView
1_BeforeExpand
treeView
绑定
数据库
winform
中
treeview
绑定
数据库
的数
winform
中
treeview
绑定
数据库
的数
C 之
Winform
中
treeview
控件
绑定
数据库
C 之
Winform
中
treeview
控件
绑定
数据库
Winfrom的
TreeView
控件
数据库
绑定
Winfrom的
TreeView
控件
数据库
绑定
@()[
WinForm
|权限树|
TreeView
]
绑定
TreeView
绑定
TreeView
(利用TreeNode)12345678910111213141516171819202122232425262728293031323334/// <summary>///
绑定
TreeView
...
C#
WinForm
DataGridView同步更新
数据库
TreeView
最简单的
绑定
数据库
C#
WinForm
DataGridView同步更新
数据库
TreeView
最简单的
绑定
数据库
要注意:
数据库
的表必须有主键。
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.8w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2006-11-01 03:30
社区公告
让您成为最强悍的C#开发者