Я пытался с классом TreeView и смог создать родительский и дочерний объект.Когда я пытался создать grantchild.Выдает ошибку в отмеченной ниже области.Любое предложение, чтобы это исправить.
// ============================================================
// Add a child treenode for each NameAge object in the current Gender object.
foreach (NameAge noOfNameAge in noOfParents.ParentOrder)
{
controllerOutput.Nodes[parentArray.IndexOf(noOfParents)].Nodes[genderArray.IndexOf(noOfGender)].Nodes.Add(
new TreeNode(noOfNameAge.NameAgeID));
}
// =============================================================
// Start of parent class.
public class Parent : System.Object
{
private string parentName = "";
protected ArrayList parentOrder = new ArrayList();
public Floor(string parentName)
{
this.floorName = parentName;
}
public string ParentName
{
get { return this.parentName; }
set { this.parentName = value; }
}
public ArrayList ParentOrder
{
get { return this.parentOrder; }
}
} // End of parent class.
// Start of gender (Boy/Girl) class.
public class Corridor : System.Object
{
private string genderID = "";
protected ArrayList genderOrder = new ArrayList();
public Gender(string genderid)
{
this.genderID = genderid;
}
public string GenderID
{
get { return this.genderID; }
set { this.genderID = value; }
}
public ArrayList GenderOrder
{
get { return this.genderOrder; }
}
} // End of gender class.
// Start of NameAge class.
public class NameAge : System.Object
{
private string nameageID = "";
protected ArrayList nameageOrder = new ArrayList();
public NameAge(string nameageid)
{
this.nameageID = nameageid;
}
public string NameAgeID
{
get { return this.NameAgeID; }
set { this.NameAgeID = value; }
}
public ArrayList NameAgeOrder
{
get { return this.nameageOrder; }
}
} // End of NameAge class.
private ArrayList parentArray = new ArrayList();
private ArrayList genderArray = new ArrayList();
private ArrayList nameageArray = new ArrayList();
private void FillControllerTreeView()
{
// Add parent to the ArrayList of Parent objects.
for (int x = 1; x <= Convert.ToInt32(DropDown-1.SelectedItem.ToString()); x++)
{
parentArray.Add(new Parent("Parent - " + x.ToString()));
}
// Add Gender(Boy/Girl) to each Parent object in the ArrayList.
foreach (Parent parent in parentArray)
{
for (int y = 1; y <= Convert.ToInt32(DropDown-2.SelectedItem.ToString()); y++)
{
parent.ParentOrder.Add(new Gender("Boy - " + y.ToString()));
}
for (int z = 1; z <= Convert.ToInt32(DropDown-3.SelectedItem.ToString()); z++)
{
parent.ParentOrder.Add(new Gender("Girl - " + z.ToString()));
}
}
foreach (NameAge nameage in nameageArray)
{
for (int y = 0; y <= 2; y++)
{
nameage.NameAgeOrder.Add(new NameAge("Light - " + y.ToString()));
}
nameage.NameAgeOrder.Add(new NameAge("AC - "));
}
controllerOutput.BeginUpdate();
controllerOutput.Nodes.Clear();
foreach (Parent noOfParents in parentArray)
{
controllerOutput.Nodes.Add(new TreeNode(noOfParents.ParentName));
// Add a child treenode for each gender object in the current Parent object.
foreach (Gender noOfGender in noOfParents.ParentOrder)
{
controllerOutput.Nodes[parentArray.IndexOf(noOfParents)].Nodes.Add(
new TreeNode(noOfGender.GenderID));
// Add a child treenode for each NameAge object in the current Gender object.
foreach (NameAge noOfNameAge in noOfParents.ParentOrder)
{
controllerOutput.Nodes[parentArray.IndexOf(noOfParents)].Nodes[genderArray.IndexOf(noOfGender)].Nodes.Add(
new TreeNode(noOfNameAge.NameAgeID));
}
}
}
controllerOutput.EndUpdate();
}
Спасибо