使用向量填充的TreeView无法正常工作

时间:2018-06-27 22:04:23

标签: c# winforms treeview populate

我有一个CardTransport类:

private readonly int codCard;
private string numeUtilizator;
private float sold;

和Calatorie:

private int codCard;
private float valoare;
private int nrAutobuz;

我成功地从这2个类的2个.txt文件对象中读取了对象,并将它们存储到2个向量中:

public CardTransport[] vectCarduri = new CardTransport[5];
public Calatorie[] vectCalatorii = new Calatorie[5];

我想在TreeView中显示如下对象:

-ParentNode: "Carduri" 
     -Child1 : CardTransport1
          -[Nephew1: Calatorie1]
          -[Nephew2: Calatorie2]
          -[Nephew3: Calatorie3]
    -Child2: CardTransport2
          -[Nephew1: CalatorieX]
          -[Nephew2: CalatorieY]
          -[Nephew3: CalatorieZ]
     ........

我想要成为vectCarduri的CardTransport对象的子节点。一个孩子意味着该向量中的一个对象。

我想成为来自vectCalatorii的Calatorie对象的侄子节点。侄子的数量因一个孩子而异。我阅读了vectCalatorii,如果有任何对象(侄子的codCard属性与应将其添加到侄子的当前子对象相同,那么我将其添加,如果没有,则转到vectCalatorii中的下一个对象并执行相同操作)

但是我的代码仅将vectCarduri的第一个对象显示为5个子对象,而vectCalatorii的第一个对象显示为每个孩子的5个侄子,考虑到我声明的2个向量中最多包含5个元素。它没有选择相应的侄子,也没有显示所有的孩子。我尝试了很多事情。为什么这样做呢?你能帮助我吗?谢谢

TreeNode parinte = new TreeNode("Carduri");
        treeView1.Nodes.Add(parinte);

        TreeNode copil = new TreeNode();

        for(int i=0;i<vectCarduri.Length;i++)
        {
            copil.Text = vectCarduri[i].CodCard + " - " + vectCarduri[i].NumeUtilizator + " - " + vectCarduri[i].Sold;
            parinte.Nodes.Add(copil);
        }

        // for(int i=0;i<vectCarduri.Length;i++)
        //{

        //        TreeNode copil = new TreeNode(vectCarduri[i].CodCard + " - " + vectCarduri[i].NumeUtilizator + " - " + vectCarduri[i].Sold);
        //        parinte.Nodes.Add(copil);


        //        //for (int j = 0; j < vectCalatorii.Length; j++)
        //        //{
        //        //    if (vectCalatorii[j] != null && vectCalatorii[j].CodCard==vectCarduri[i].CodCard)
        //        //    {
        //        //        TreeNode nepot = new TreeNode(vectCalatorii[j].CodCard + " - " + vectCalatorii[j].Valoare+ " - "+vectCalatorii[j].NrAutobuz);
        //        //        copil.Nodes.Add(nepot);
        //        //    }
        //        //    else { j++; }

        //        //}


        //}

        treeView1.ExpandAll();

0 个答案:

没有答案