DisplayTreeView : パート 2
DisplayTreeView のパート 2 では以下の作業を行います。
-
ContactList に格納されている Contact オブジェクト ID ごとに繰り返し処理を行い、対応する Contact インスタンスを開きます。ただし、このコードでは using 文を使用して、Contact インスタンスが正常に破棄されるようにします。
-
Contact インスタンスの ContactType の値が “Personal” である場合、このメソッドでは、その情報を収めたノードを作成し、サブノードとして PersonalNode に追加します。
-
Contact インスタンスの ContactType の値が “Business” である場合、メソッドでは、その情報を収めた新しいノードを作成し、サブノードとして BusinessNode に追加します。
-
BusinessNode と PersonalNode を treeView1 (ルート・ノード) に追加します。
-
EndUpdate を呼び出します。これで、ツリーはフォーム上に描画されるようになります。
メソッドの後半は以下のとおりです。このメソッドの本文を、PhoneFormObj.cs の DisplayTreeView スタブに追加します。
...
foreach (string id in ContactList)
{
using (Contact contact = Contact.OpenId(cnCache, id))
{
if (contact.ContactType.Equals("Personal"))
{
contactNode = new TreeNode(contact.Name);
contactNode.Name = "Name Node";
contactNode.Tag = id;
PersonalNode.Nodes.Add(contactNode);
}
if (contact.ContactType.Equals("Business"))
{
contactNode = new TreeNode(contact.Name);
contactNode.Tag = id;
contactNode.Name = "Name Node";
BusinessNode.Nodes.Add(contactNode);
}
}
}
treeView1.Nodes.Add(PersonalNode);
treeView1.Nodes.Add(BusinessNode);
treeView1.EndUpdate();
}