C# 构建树视图问题

C# 构建树视图问题,c#,treeview,kendo-treeview,C#,Treeview,Kendo Treeview,我正在尝试构建一个具有3个级别的treeViewItemModel,它可能存在,也可能不存在 像这样: 从Web服务中,我得到一个包含段的对象,每个段都有关于它所属的特征和方向的信息。但我似乎找不到一种方法在上面的结构中构建一棵树 我现在的观点是: foreach (wsPAVSegment.segmentOutput segment in gso.segments) { if (!characteristicList.Contains(segment.characteristic.c

我正在尝试构建一个具有3个级别的
treeViewItemModel
,它可能存在,也可能不存在

像这样:

从Web服务中,我得到一个包含段的对象,每个段都有关于它所属的特征和方向的信息。但我似乎找不到一种方法在上面的结构中构建一棵树

我现在的观点是:

foreach (wsPAVSegment.segmentOutput segment in gso.segments)
{
    if (!characteristicList.Contains(segment.characteristic.code))
    {
        characteristicList.Add(segment.characteristic.code);
        characteristicTree.Add(new TreeViewItemModel
        {
            Id = segment.characteristic.code,
            Text = segment.characteristic.mediumDescription
        });
    }
}

foreach (wsPAVSegment.segmentOutput segment in gso.segments)
{
    foreach (TreeViewItemModel item in characteristicTree)
    {
        if (item.Id == segment.characteristic.code)
        {
            TreeViewItemModel tvim = new TreeViewItemModel();
            tvim.Id = segment.segment.id;
            tvim.Text = segment.segment.code;

            item.Items.Add(tvim);
        }
    }
}

foreach (wsPAVSegment.segmentOutput segment in gso.segments)
{
    if (!directionList.Contains(segment.direction.code))
    {
        directionList.Add(segment.direction.code);
        directionTree.Add(new TreeViewItemModel
        {
            Id = segment.direction.code,
            Text = segment.direction.mediumDescription,
            Items = characteristicTree
        });
    }
}

fullTree = directionTree;
结果是一棵树只有一个根对应于一个方向,并且树中的特征以及特征中的线段都是正确的


有人能帮忙吗?

我通过复制我的获奖公式找到了解决办法。如问题
中所述,结果是一棵树只有一个根对应于一个方向,其中的特征以及特征中的段是正确的。


我选择了两棵树,一棵在另一棵下面,每个方向一棵。问题已解决。

您是否被迫按自己的方式执行上述结构?因为我不理解您的方式,但我有另一种方式可以帮助您实现上述树结构谢谢您的评论@FerasSalim。与此同时,我找到了解决办法,我回答了自己的问题