説明:
コーディング :
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
}
}
}
上記のコードから。
dは、2 つの文字列を保持する配列リストです。
string[0] string[1]
ProductName ProductID
----------- -----------
Food 001
NotFood 002
bまた、3 つの文字列を保持する配列リスト
string[0] string[1] string[2]
ProductID itemID itemName
001 X101 Soup
001 X102 Bread
002 G111 Pen
002 G212 Book
002 G222 Ruler
ProductName を親ノードとして追加するコード:
TreeNode node = new TreeNode(((string[])d[i])[0]);
(((string[])d[i])[0])は ProductName を保持します
itemName を Child Node として追加するコード:
node.Nodes.Add(((string[])b[j])[2]);
(((string[])b[j])[2]) itemNameを保持します
上記のコーディングを実行した後。arrayList のオブジェクトが Treeview に表示されます
+Food
- Soup
- Bread
+NotFood
- Pen
- Book
- Ruler
質問 :
ツリービューはチェックボックス付きのツリービューです。そのため、ユーザーは自分が欲しいアイテムをチェックできます。アイテムを別の場所にコピーします。ここでいくつか問題があります。ユーザーがノードでチェックするときに itemID を取得するにはどうすればよいですか?
データベースからデータを取得し、itemID を参照して別の場所にコピーするためにユーザーがチェックするアイテムを取得するための itemID が必要です。