Explanation:
Coding :
for (int i = 0; i < d.Count; i++) //loop for Product
{
TreeNode node = new TreeNode(((string[])d[i])[0]);
thisForm.NewBKMTreeView.Nodes.Add(node); //add Product as Parent Node
for (int j = 0; j < b.Count; j++) //loop for Item
{
if (((string[])d[i])[1] == ((string[])b[j])[0]) //compare if ProductID from arrayList d same with ProductID from arrayList b
{
node.Nodes.Add(((string[])b[j])[2]); //add Item as Child Node
}
}
}
from the code above.
d is arraylist that hold 2 string.
string[0] string[1]
ProductName ProductID
----------- -----------
Food 001
NotFood 002
b also arraylist that hold 3 string
string[0] string[1] string[2]
ProductID itemID itemName
001 X101 Soup
001 X102 Bread
002 G111 Pen
002 G212 Book
002 G222 Ruler
Code to add ProductName as Parent Node :
TreeNode node = new TreeNode(((string[])d[i])[0]);
(((string[])d[i])[0]) hold the ProductName
Code to add itemName as Child Node :
node.Nodes.Add(((string[])b[j])[2]);
(((string[])b[j])[2]) hold the itemName
After run the coding above. the object in arrayList will show in Treeview
+Food
- Soup
- Bread
+NotFood
- Pen
- Book
- Ruler
Question :
the treeview is Treeview with Checkboxes. So user can check the item that he want. And copy the item another place. I’ve some problems here. How can i get itemID when user check at nodes?
I want the itemID for get the item that user check to get the data from database and copy it into another place refering to itemID.
I think you should store the
item idor any other information you require from theitemin the tag property of tree node.