2010-09-16 15 views
16

ऐसा प्रतीत होता है कि jqGrid sortname और sortorder गुण वास्तव में आपके डेटा सेट को सॉर्ट करने का कारण नहीं बनाते हैं - वे केवल ऊपर/नीचे तीरों को प्रदर्शित करने का कारण बनते हैं।jqGrid डिफ़ॉल्ट सॉर्ट ऑर्डर?

डाउनलोड पर सॉर्ट करने के लिए आप अपना डेटा सेट कैसे प्राप्त कर सकते हैं?

जब आप कॉलम हेडर पर क्लिक करते हैं तो यह क्रम अच्छी तरह से काम करता है लेकिन मैं अपने डेटा पर एक डिफ़ॉल्ट प्रकार लागू करना चाहता हूं।


अपडेट: जब हम अगले बटन पर क्लिक करते हैं, तो अगला अनुरोध डेटा को टाइप करता है।

यह थोड़ा उलझन में यूआई का कारण बनता है जहां डेटा कॉलम पर नीचे तीर के साथ लोड होता है - और डेटा सॉर्ट नहीं किया जाता है - लेकिन जब आप डेटा के आगे क्लिक करते हैं तो अब सॉर्ट किया जाता है।

ऐसा लगता है कि अगर मैं सॉर्टनाम और सॉर्टऑर्डर को छोड़ देता हूं कि jqGrid अभी भी सॉर्ट आइकन प्रदर्शित करता है - अजीब।

उत्तर

2

कोशिश का उपयोग करने के

$("#list").jqGrid('setGridParam',{ page: 1 }).trigger("reloadGrid"); 

या

$("#list").jqGrid('setGridParam',{ rowNum: 10 }).trigger("reloadGrid"); 

(मूल्य है जो आप ROWNUM पैरामीटर के रूप में परिभाषित करने के लिए 10 की जगह)। यदि यह मदद नहीं करेगा तो अपने कोड को अपने प्रश्न में पोस्ट करें।

+0

क्या आप सुझाव देते हैं कि हम ग्रिड को दो बार लोड करें? प्रारंभिक भार (सॉर्ट नहीं किया गया) और दूसरा लोड जो उम्मीदपूर्वक क्रमबद्ध किया जाएगा? –

+0

@Marcus: आप अपने प्रश्न में कोई कोड नहीं डालते हैं इसलिए मुझे लगता है कि आप क्या करते हैं। यह सर्वर सर्वर से जेएसओएन या एक्सएमएल डेटा लोड करता है, सर्वर डेटा को सॉर्ट करता है, इसलिए आपको अपना सर्वर कोड ठीक करना चाहिए। यदि आप स्थानीय स्रोत से डेटा लोड करते हैं या सर्वर से लोड करते हैं तो ** बिना लोड किए गए ** ** "लोडऑन: सत्य" के साथ आपको ** डेटा को एक बार ** सॉर्ट करना चाहिए। ऐसा करने के लिए आपको ग्रिड पर वर्तमान पृष्ठ में प्रदर्शित डेटा को रीफ्रेश करना होगा। आप इसे 'ट्रिगर ("रीलोड ग्रिड") के संबंध में कर सकते हैं - स्थानीय डेटा के मामले में यह वर्तमान पृष्ठ को "ताज़ा" कर रहा है। कभी-कभी 'पेज' या' rowNum 'जैसे पैरामीटर सेट करने में – Oleg

+0

मदद करता है हम सर्वर से' loadonce: true' के साथ सर्वर से अनारक्षित डेटा लोड कर रहे हैं। 'ट्रिगर करने का प्रयास करेंगे ...' –

1

समस्या है (मेरा मानना ​​है कि) उस पैरामीटर sortName है और न ही sidx जब का अनुरोध पहले डेटा सेट

2

आप अपने आप के रूप में ही गलती है, जो एक पुराने से दूर मेरे मुवक्किल स्क्रिप्ट के आधार पर किया गया था बनाया होगा पढ़ रहे हैं उदाहरण जो "sortname" के बदले "sortName" का इस्तेमाल किया

+0

यह सही उत्तर है। मेरा ग्रिड पहली बार डेटा के लिए पूछे जाने वाले प्रकार के मानदंडों को पार कर रहा है। गुण सॉर्टनाम और सॉर्टऑर्डर हैं। – jfren484

0

/चीज़ी उत्तर चेतावनी

क्यों क्रमबद्ध आइकन पहली बार जब आप लोड छिपा नहीं? पहली बार कोई भी टाइप करता है, इसे खोलता है और चीजें इरादे के रूप में काम करती हैं। लगता है कि जब तक उपयोगकर्ता सॉर्ट करने के लिए कॉलम चुनता है तब तक इसे बिना छेड़छाड़ करने का आपका इरादा था।

+0

मैं इस समाधान से सहमत हूं ... सर्वर साइड कोड का उपयोग करने के आसपास पहली बार सॉर्ट करें ताकि लोड होने पर यह सटीक रूप से प्रदर्शित हो सके यदि आप इसे प्रारंभ में क्रमबद्ध करना चाहते हैं। या तो डिफ़ॉल्ट खोज कॉलम सेट करें या छुपाएं/दिखाएं (http://stackoverflow.com/questions/2601476/is-it-possible-to-hide-or-manipulate-the-jqgrid-sort-icons) सॉर्ट कॉलम के बाद उपयोगकर्ता आपके द्वारा जाने वाली दिशा के आधार पर सॉर्ट करने का निर्णय लेता है। –

13

आप एक ही पैरामीटर दो बार दे सकते हैं (प्रतिलिपि पेस्ट प्रोग्रैमिंग करते समय एक बहुत ही आम गलती :) कोई अपराध नहीं। मैं यह भी कर सकते हैं।)

आप

..... options .... 
sortname: "OpeningDate", 
sortorder: "desc", <---- assume you write this line and expect to sort descending 
..... some other options .... 
sortorder: "asc", <---- and this line may also be there but you may not be noticing it 
..... and other options .... 

उतरते दूसरी "sortorder" विकल्प पहले ओवरराइड करता है OpeningDate द्वारा क्रमबद्ध करना चाहते हैं और आप घटते क्रम में क्रमबद्ध करने में सक्षम

7

मैं का सामना करना पड़ रहा था नहीं होगा एक ही समस्या। डेटा लोड करने के बाद इस का उपयोग करें: बुलियन मान सही पर सेट है, तो

$("#tableId").jqGrid('sortGrid','colName', false, 'asc'); 

या

$("#tableId").sortGrid('colName', false, 'asc'); 

ग्रिड पुनः लोड है। सॉर्ट ऑर्डर के आधार पर अंतिम पैरामीटर 'asc'/'desc' हो सकता है।

संबंधित मुद्दे