2013-02-07 11 views
5

私が持っているリストの各値のインデックス位置を取得する必要があります。私は、行の背景色が交互になるようにgspテーブルを表示できるようにこれをやっています。例:Groovy/Grails - リストのインデックス値を取得する必要があります

(list.indexVal % 2) == 1 ? 'odd' : 'even' 

Groovyリスト内の各項目のインデックス位置番号を取得するにはどうすればよいですか?ありがとう!

答えて

9

According the documentation、G:GSPビューの各タグは、Grailsのに反復インデックスを格納する "状態" 変数 を可能 例:

<tbody> 
    <g:each status="i" in="${itemList}" var="item"> 
    <!-- Alternate CSS classes for the rows. --> 
    <tr class="${ (i % 2) == 0 ? 'a' : 'b'}"> 
     <td>${item.id?.encodeAsHTML()}</td> 
     <td>${item.parentId?.encodeAsHTML()}</td> 
     <td>${item.type?.encodeAsHTML()}</td> 
     <td>${item.status?.encodeAsHTML()}</td> 
    </tr> 
    </g:each> 
</tbody> 
+0
+0

このレスポンスは非常に役に立ち、の「ステータス」機能の存在を指摘しています –

2

g:eacheachWithIndex、又はforループのどれができ利用される。

ただし、この特定の場合は、のインデックス値は不要です。 CSSの擬似クラスを使用してお勧めします。

tr:nth-child(odd) { background: #f7f7f7; } 
tr:nth-child(even) { background: #ffffff; } 

それでもインデックスを取得する必要がある場合は、オプションは次のとおりです、感謝万人を働い

<g:each status="i" in="${items}" var="item"> 
    ... 
</g:each> 

<% items.eachWithIndex { item, i -> %> 
    ... 
<% } %> 

<% for (int i = 0; i < items.size(); i++) { %> 
    <% def item = items[i] %> 
    ... 
<% } %> 
関連する問題