问题描述
我用了两个foreach循环来读取数据库里的数据,我想得到的结果是:测试点1大门楼梯测试点2走廊代码如下:foreach(varstationinstation.Get_By_All()){treelist1.AppendNode(newobject[]{station.station_name},null);foreach(varcsinchannelsatation.Get_By_StationID((short)station.station_id)){treelist1.Nodes[0].Nodes.Add(newobject[]{cs.channel_name});}}出现的结果却是:测试点1大门楼梯走廊测试点2出现这个结果的原因是什么啊。求大神告知,怎么解决?还是没法这样用的?
解决方案
解决方案二:
树形结构一般都有id、text、parentid等属性,通过parentid跟id建立关联。常规的做法是通过递归构造树形结构。
解决方案三:
建议:1.排序station.Get_By_All()2.foreach,添加到keyvalue(string,List),当key!="测试1“,重开一个key.也许对应两层数据,效果不明显,但是层次到了3次,就很实用了。避免了多层foreach.
解决方案四:
正常情况你id对应不会有关题,是不是你显示出问题?异步?多线程处理?
解决方案五:
出现的结果贴出来看你这样贴,根本不科学啊大门变成第3层??而楼梯和走廊没有挂在第1层下,直接放到了第2层下??要么你放出数据结构来,否则很难猜啊
时间: 2024-09-29 18:57:57