有如下字段
01、02、03、0301、0302、04、0401、0402、05、0501、0502
其中01、02、03、04、05他们深度是1,比如说03下面有0301、0302,后面一次类推。提问:如何想这样把他们绑定在TreeView中。这些数据在数据库中是一个列的。求高手指教
C#中TreeView读取节点的操作
答案:4 悬赏:70 手机版
解决时间 2021-03-13 14:16
- 提问者网友:风月客
- 2021-03-13 08:40
最佳答案
- 五星知识达人网友:空山清雨
- 2021-03-13 10:07
string[] strs = { "01", "02", "03", "0301", "0302", "04", "0401", "0402", "05", "0501", "0502" };
foreach (string str in strs) {
if (str.Length == 2) {
this.treeView1.Nodes.Add(str, str); // key, text
}
else {
string parent = str.Substring(0, 2);
TreeNode parentNode = this.treeView1.Nodes.Find(parent, true)[0];
parentNode.Nodes.Add(str);
}
}注意: 这种写法, 要保证添加"0301"之前已经添加好"03"节点, 你只要在添加之前对数据源排序一下就行, 或者就是在添加子节点前判断并处理一下
foreach (string str in strs) {
if (str.Length == 2) {
this.treeView1.Nodes.Add(str, str); // key, text
}
else {
string parent = str.Substring(0, 2);
TreeNode parentNode = this.treeView1.Nodes.Find(parent, true)[0];
parentNode.Nodes.Add(str);
}
}注意: 这种写法, 要保证添加"0301"之前已经添加好"03"节点, 你只要在添加之前对数据源排序一下就行, 或者就是在添加子节点前判断并处理一下
全部回答
- 1楼网友:酒者煙囻
- 2021-03-13 11:04
你的表不会就这一列吧 看一下表结构
- 2楼网友:山有枢
- 2021-03-13 10:38
首先读取数据库01、02、03、04、05到一个集合里面,例如List<T>.然后foreach这个集合,即又根据01到05记录的id再次读取数据库,这样循环读出子节点绑定就可以了。
- 3楼网友:从此江山别
- 2021-03-13 10:13
你好!
递归吧,孩子,只能这样玩了,还有,这些数据你要给他一个对应关系,比如有0301的这行你要给他一个parentId,这列里面放03,否则不大好读取
我的回答你还满意吗~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯