2014-11-13 34 views
0

我有这个groupItem在我的控制器迭代分组。如何显示关键

var groupedItem = returnItem.GroupBy(x => x.Goal).AsQueryable(); 

这就是groupItem样子

[ 
{"Goal":"X","Task":""A,"TaskArgument":null}, 
{"Goal":"X","Task":"B","TaskArgument":null}, 
{"Goal":"X","Task":"B","TaskArgument":null}, 
] 

[ 
{"Goal":"Y","Task":"A","TaskArgument":null}, 

] 

这是我在HTML中看到

<ul ng-repeat="(s,t) in groupedItem"> 
     Group name: {{ s }} 

     <li ng-repeat="st in t"> 
      each one: {{ st.Task }} 
     </li> 
    </ul> 

Group name:0 
each one: A 
each one: B 
each one: B 
Group name:1 
each one: A 

如何显示组名(X和Y)?如果我有{{s.Goal}},那就没有价值。

回答

1
<ul ng-repeat="(s,t) in groupedItem"> 
     Group name: {{ t[0].Goal }} 

     <li ng-repeat="st in t"> 
      each one: {{ st.Task }} 
     </li> 
    </ul> 

该解决方案依赖于没有组为空的事实。

+0

我也看到了分组是错误的。它应该是var map = returnItem.GroupBy(x => x.Goal).ToDictionary(x => x.Key,x => x.ToList());使用你的答案和这本词典,工作。谢谢 – kay00