2011-05-03 9 views
14

मुझे jqGrid का उपयोग करके दिनांकों को सॉर्ट करते समय कोई समस्या है। निम्नलिखित तारीखोंjqGrid सही ढंग से दिनांकों को क्रमबद्ध नहीं कर रहा है

को देखते हुए

jqGrid के रूप में इस प्रकार है

01/01/2010 
01/01/2011 
01/02/2010 
01/02/2011 

मैं देखने की अपेक्षा करेंगे मेरी दिनांकों छँटाई है

01/01/2010 
01/02/2010 
01/01/2011 
01/02/2011 

मेरे दिनांक स्वरूप dd/mm/yyyy है और मैं पालन प्रारूप विकल्प हैं -

{ name:'myDate', index: 'myDate', sortable: true, sorttype: 'date' } 

क्या मुझे यहां कुछ याद आया है या यह jqGrid की सीमा है?

+0

यदि आप मानक जीएमटी तिथि प्रारूप का उपयोग करते हैं तो क्रमबद्ध क्रम कैसे होगा? मेरी आंखों में jgrid सॉर्टिंग के लिए इसका उपयोग करता है। – reporter

उत्तर

22

आपने सामान्य त्रुटि की है। समस्या यह है कि jqGrid ISO 8601 दिनांक प्रारूप में दिनांकों के इनपुट की अपेक्षा करता है: वाई-एम-डी।

आप "dd/mm/yyyy" प्रारूप में jqGrid के इनपुट डेटा पोस्ट करते हैं तो आप स्तंभ परिभाषा में जोड़ना चाहिएdatefmt: 'm/d/Y' संपत्ति।

सबसे अच्छा तरीका है ISO प्रारूप में ग्रिड की तारीख डेटा को भरने के लिए किया जाएगा और किसी भी अन्य प्रारूप में इनपुट कन्वर्ट करने के लिए केवल निम्न सेटिंग्स

formatter:'date', formatoptions: {newformat:'m/d/Y'}, datefmt: 'd-M-Y' 

का उपयोग कर jqGrid में तारीख प्रदर्शित करने के लिए पेड़ डेमो के स्रोत कोड की तुलना करें: this, this और this

+0

उत्कृष्ट, आपकी मदद के लिए धन्यवाद :-) –

+0

@ गिल्बर्ट लिडेल: आपका स्वागत है! – Oleg

+2

@ गिल्बर्ट लिडेल: एक और सामान्य टिप्पणी। मैं देखता हूं कि आप अपने "वोट" अधिकार का उपयोग नहीं करते हैं, जिसे आपने 15 प्रतिष्ठा अंक से शुरू किया है। मुझे लगता है कि आपको एक महत्वपूर्ण बात जाननी चाहिए। [यहां] (http://stackoverflow.com/faq#howtoask) आप एक साधारण नियम पा सकते हैं: "जैसा कि आप अपने प्रश्न के नए उत्तर देखते हैं, उत्तर के बाईं ओर ऊपरी ओर इशारा करते हुए तीर पर क्लिक करके सहायक लोगों को वोट दें । " "स्वीकार किए गए" और ** मतदान नहीं किए गए ** प्रश्नों को अधिकतर "बंद" के रूप में समझाया जाएगा और खोज इंजन द्वारा अंतिम स्थान पर रखा जाएगा, क्योंकि उत्तर को ** उपयोगी नहीं है **। – Oleg

1

jqGrid डेटाटाइम द्वारा सॉर्टिंग का समर्थन नहीं करता है लेकिन बस तारीख तक। इसलिए आप नीचे दिए गए उदाहरण में दिखाए गए पीडीएफ में दिए गए विकल्प का उपयोग कर सकते हैं। यदि ग्रिड में आपका डेटा पहले से ही दिनांक और समय से क्रमबद्ध है, और आपके पास सभी पंक्तियों के सूचकांक के साथ कॉलम भी है, जैसे संख्या 1, 2, 3, .... n। आप इंडेक्स कॉलम पर डेटाटाइम को सॉर्ट कर सकते हैं। यह हमेशा डेटाटाइम के लिए asc या desc आदेश सुनिश्चित करेगा।

आप किसी अन्य कॉलम सामग्री द्वारा jqGrid की DATE और समय या दिनांक को सॉर्ट कर सकते हैं। onSortCOl पर नीचे दिए गए उदाहरण में दिए गए जैसे:

 onSortCol: function(name,index) { if(name == 'createDateTime') { jQuery("#viewNotesGrid").setGridParam({sortname:"ID"}); } } 
2

jqGrid दिनांक द्वारा लेकिन सिर्फ तिथि के अनुसार छँटाई का समर्थन नहीं करता।

वास्तव में, मैं पाया है कि jqGrid समर्थन datetimes द्वारा छँटाई करता है।

हम एक JSON वेब सेवा जहां दिनांक (annoyingly) थे है इस प्रारूप में पहुंचने:

colModel: [ 
    { name: "dt", sorttype: 'date', datefmt: 'm/d/yyyy h:i:s AmPm' }, 

jqGrid_Sorting: इस का उपयोग करते हुए

'2/24/2015 9:48:04 AM' 

jqGrid द्वारा तारीख & समय छँटाई पूरी तरह से सक्षम था

यह विशेष ऐप jqGrid 4.4.5 (2008 से) का उपयोग कर रहा था यह एक नई सुविधा नहीं है।

उम्मीद है कि इससे मदद मिलती है।

+0

आपको बहुत बहुत धन्यवाद, यह एक आकर्षण की तरह काम करता है। –

+0

मेरे पास कुछ दिनांक है जो '9/24/2015 10:05:47 AM',' 1/3/2015 6:53:00 AM' है, तो क्या आपको लगता है कि प्रारूप 'm/d/yyyy h होना चाहिए: ii: एसएस एएमपीएम –

+1

मुझे लगता है कि यह "एम/डी/वाई वाई एच: आई: एस एमएमएम" होना चाहिए, लेकिन मैं गलत हो सकता था। इसे आज़माएं और देखें। उनके प्रलेखन के अनुसार, jqGrid PHP दिनांक स्वरूपण का उपयोग करता है, ताकि आप इसे संदर्भ के रूप में उपयोग कर सकें: http://php.net/manual/en/function.date.php –

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