2014-11-13 2 views
0

내가 내 컨트롤러에이 groupItem을 표시하려면 어떻게각도로 그룹화를 반복합니다. 내가 키

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

이것은 내가

<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 
의 HTML에서 볼 무엇 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}, 

] 

이 모양을이다

그룹 이름 (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

관련 문제