【发布时间】:2009-04-19 11:17:54
【问题描述】:
我想填充树视图。
这是我在 DB 中的内容:
表:盒子 盒子ID 盒子名称
桌书: 书号 书名 BoxID (fk Box.BoxID)
表章节: 章节ID 章节名称 BookID (fk Book.BookID)
您可能知道树视图是由树节点对象组成的。 treenode 对象有一个 text 属性和一个 tag 属性。 “text”属性是它在屏幕上显示的该节点的文本,“tag”是一个“隐藏”值(通常用于标识节点)
所以在我的情况下;以 ID 结尾的字段将用于 "tag" 属性,以 Name 结尾的字段将用于 "text" 属性
示例: 所以对于一本书;我将 BookID 字段用于“tag”属性,将 BookName 字段用于“text”属性
注意:我使用 dbml,所以我有一个 Book 对象、Box 对象和 Chapter 对象,我使用 linq 从 db 中获取它们。
所以我的问题是;构建这棵树的最佳做法是什么?
我有一个解决方案,但它真的很难看,因为看起来我在复制代码。 问题是我需要为文本和标签属性提取的值由数据库中的不同字段名称标识
所以对于图书级别,我需要获取 BookID 字段来填充我节点的标签属性;对于盒子级别,我需要获取 BoxID 字段来填充标签属性,....
我怎样才能做出一种通用的方式来做到这一点?
我希望我说得足够清楚,不要犹豫,问我问题:)
提前谢谢
【问题讨论】:
标签: treeview