I would like to populate a Treeview.
Here is what I have in DB :
table : Box BoxID BoxName
table Book : BookID BookName BoxID (fk Box.BoxID)
table Chapter: ChapterID ChapterName BookID (fk Book.BookID)
As you may know a treeview is made up of treenode object. A treenode object have a text property and a tag property. The ‘text’ property is the text that it’s display on the screen for this node and the ‘tag’ is an ‘hidden’ value (usually uses to identify a node)
So in my case; the fields ending with ID will be used in the ‘tag’ property and the fields ending with Name will be used in the ‘text’ property
example : so for a book; I will use the BookID field for the ‘tag’ property and BookName field for the ‘text’ property
note : I use a dbml so I have a Book object, Box object and Chapter object and I use linq to get them from the db.
So my question is; what is the best practice to build this tree?
I have a solution but it’s really ugly because it looks like I’m duplicating the code. The problem is that the values I need to extract for the text and tag properties are identified by differents fields name in the db
So for the book level, I need to get the BookID field to populate the tag property of my node; for the box level, I need to get the BoxID field to populate the tag property , ….
How can I make a kind of generic way to do it ?
I hope I made myself clear enough, don’t hesitate to ask me questions 🙂
Thx in advance
Here is what I have for the moment
I get the list of box with a linq (dbml) request.
but of course I don’t like this solution…
do you have a better way ?