2012-07-16 16 views
6

मैं अपने grails ऐप में कुछ अंकन सामग्री जोड़ना चाहता हूँ। मैं इस सूची कार्रवाई है और उस में मैं इस किया था:Grails में अंकन

if(!params.max){ 
params.max = 3 
} 
    def query = Profile.where { 
     userType == "F" 
    } 
    def freelancers = query.list(sort:"firstName", max:params.max) 
    if(freelancers) { 
     def freelancersCount = query.count() 
     return[freelancer:freelancers, fCount:freelancersCount] 
    } else { 
     response.sendError(404) 
    } 

जीएसपी में मैंने लिखा इस:

<div id="paginate"> 
    <g:paginate controller="freelancers" action="list" total="${fCount}"/> 
</div> 

सब कुछ ठीक है, एक मेरी DB में एक 5 वस्तुओं है और मैं केवल 3 देख सकते हैं ब्राउज़र में एक जीएसपी पेज खोलते समय, लेकिन जब मैं अन्य 2 ऑब्जेक्ट खोलने के लिए अगला पर क्लिक करता हूं, तो मुझे वही 3 दिखाई देता है। क्या गलत है और मुझे क्या करना होगा?

उत्तर

8

उत्तीर्ण होने के लिए की जरूरत है list करने के लिए अपने कॉल में ऑफसेट:

def freelancers = query.list(sort:"firstName", offset:params.offset, 
max:params.max) 
+1

धन्यवाद, यह काम कर रहा है। लेकिन क्या मैं जी के लिए कुछ सीएसएस शैलियों का उपयोग कर सकता हूं: पेजिनेट टैग और कैसे? –

+1

@ जैक: हां, एचटीएमएल पर रखे गए वर्गों की जांच करने के लिए स्रोत देखें, और अपने चयनकर्ताओं के लिए उन वर्गों का उपयोग करें। (या तो वह मुख्य.css पर है या हैक) –

1

1) मानदंड क्वेरी का उपयोग कर रहे हैं तो:

params.max = Math.min(max ?: 10, 100) 
Integer offset = params.offset as Integer ?: 0 
List userInstanceList = User.createCriteria().list(max:params.max,offset:offset) { 
      or { 
       ilike('name', "%${name}%") 
       ilike('email', "%${email}%") 
      } 
      order('dateCreated', 'desc') 
     } 

2) आप GORM क्वेरी का उपयोग कर रहे हैं तो:

params.max = Math.min(max ?: 10, 100) 
Integer offset = params.offset as Integer ?: 0 
List<User> userList=User.list(max:params.max,offset:offset) 
संबंधित मुद्दे