2013-02-07 56 views
5

मुझे अपनी सूची में प्रत्येक मान की इंडेक्स स्थिति पुनर्प्राप्त करने की आवश्यकता है। मैं ऐसा कर रहा हूं ताकि मैं वैकल्पिक पंक्ति पृष्ठभूमि रंगों के साथ एक जीएसपी तालिका प्रदर्शित कर सकूं। उदाहरण के लिए:ग्रोवी/ग्रेल्स - पुनर्प्राप्ति की आवश्यकता सूची सूचकांक मूल्य

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

मैं ग्रोवी सूची में प्रत्येक आइटम की इंडेक्स स्थिति संख्या कैसे प्राप्त कर सकता हूं? धन्यवाद!

उत्तर

9

According the documentation, छ: जीएसपी ध्यान में रखते हुए प्रत्येक टैग "स्थिति" चर जहां 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

यही काम किया, धन्यवाद एक लाख! – grantmcconnaughey

+0

यह प्रतिक्रिया बहुत उपयोगी थी क्योंकि में 'स्थिति' सुविधा के अस्तित्व की ओर इशारा किया गया था –

2

g:each का कोई भी, eachWithIndex, या for छोरों कर सकते हैं इस्तेमाल किया गया।

लेकिन, इस विशिष्ट मामले के लिए, सूचकांक मान की आवश्यकता नहीं है। सीएसएस छद्म वर्गों का उपयोग की सिफारिश की है:

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] %> 
    ... 
<% } %>