DisplayTreeView : パート 2
DisplayTreeView のパート 2 では以下の作業を行います。
-
Contacts データ・テーブルの各データ行に繰り返し処理を行います。
-
データ行の ContactType 列の値が “Personal” の場合は、contactNode を作成し、それを PersonalNode のサブノードに追加します。
-
データ行の ContactType 列の値が “Business” の場合は、contactNode を作成し、それを BusinessNode のサブノードに追加します。
-
ラベル・テキストを現在のデータ行の Name 値に設定することで、各 contactNode を初期化します。各ノードのラベル・テキストには、連絡先の名前を含めます。
-
各 contactNode について、ノードの Tag プロパティに現在のデータ行の ID 値を保存します。
-
PersonalNode と BusinessNode を treeView1 のサブノードとして追加します。
-
treeView1 に対して EndUpdate を呼び出し、表示が描画されるようにします。
...
foreach (DataRow dr in ds.Tables["Contacts"].Rows)
{
if (dr["ContactType"].ToString().Equals("Personal"))
{
contactNode = new TreeNode(dr["Name"].ToString());
contactNode.Tag = dr["ID"].ToString();
contactNode.Name = "Name Node";
PersonalNode.Nodes.Add(contactNode);
}
if (dr["ContactType"].ToString().Equals("Business"))
{
contactNode = new TreeNode(dr["Name"].ToString());
contactNode.Tag = dr["ID"].ToString();
contactNode.Name = "Name Node";
BusinessNode.Nodes.Add(contactNode);
}
}
treeView1.Nodes.Add(PersonalNode);
treeView1.Nodes.Add(BusinessNode);
treeView1.EndUpdate();
}