2015-07-14 2 views
0

мне нужен стол, который будет отображаться с от и к заголовкам, у меня есть два списка:Лучший способ сделать двухмерную таблицу в Граалей

list1 = [A, B, C, D, E, F, G] 

и list2 список карт

list2 = [ [from: A, to: A, val:20], 
      [from: A, to: B, val:10], 
      [from: A, to: C, val:30], 
      [from: B, to: A, val:10], 
      [from: B, to: B, val:40] ] 

Результат должен быть

from to A B C D E F G 
A  20 10 30 - - - - 
B  10 40 - - - - - 
C  - - - - - - - 
D  - - - - - - - 
E  - - - - - - - 
F  - - - - - - - 
G  - - - - - - - 

Как я могу это сделать?

+0

Повторяя на list1 я могу печатать заголовки столбцов и строк заголовков, но подходит к данным я не уверен, как для отображения значения в конкретной ячейке, еще одна важная вещь эти редактируемые поля я должен быть в состоянии сохранить данные – Mikem

ответ

0
<table> 
    <tr> 
     <th>from</th> 
     <th>to</th> 
     <g:each in="${list1}" var="item"> 
      <th>${item}</th> 
     </g:each> 
    </tr> 
    <g:each in="${list1}" var="fromItem"> 
     <tr> 
      <td>${fromItem}</td> 
      <td></td> 
      <g:each in="${list1}" var="toItem"> 
       <td> 
         ${list2.find{it.from==fromItem && it.to==toItem}?.val?:"-"} 
       </td> 
      </g:each> 
     </tr> 
    </g:each> 
</table> 
+0

Это должно работать благодаря – Mikem

Смежные вопросы