2012-03-13 19 views
11

मैं jqgrid पर कस्टम बटन को सक्षम और अक्षम करने का प्रयास कर रहा हूं, लेकिन उस बटन को केवल तभी सक्षम कर देगा जब ग्रिड खाली हो और उसके बाद अक्षम हो।क्या jqGrid के पास डेटा है या नहीं, यह जांचने का कोई तरीका है?

क्या ग्रिड का परीक्षण करने का कोई तरीका डेटा है या नहीं?

धन्यवाद।

उत्तर

12

आप यह देखने के लिए जांच सकते हैं कि ग्रिड में कितने रिकॉर्ड हैं। कोई पंक्तियां हैं तो फिर ग्रिड खाली है:

jQuery('#grid').jqGrid('getGridParam', 'reccount'); 

reccount के लिए दस्तावेज़ देखें:

केवल पढ़ने के लिए संपत्ति। ग्रिड में पंक्तियों की सटीक संख्या निर्धारित करता है।

इसके अतिरिक्त, क्योंकि डिफ़ॉल्ट मान है 0 क्या आप वाकई इस तरह के loadComplete घटना में के रूप में डेटा लोड होने के बाद इस समारोह फोन करने की जरूरत है।

+0

अरे मैंने कुछ कोड जोड़ा है जो मैंने किया था ... मुझे यकीन नहीं है कि यह ऐसा तरीका है या नहीं। "var count" से देखें। – pundit

+0

@ पंडित - मुझे यह समझने के लिए एक बड़ा कोड उदाहरण देखना होगा कि सबकुछ एक साथ कैसे फिट बैठता है, खासकर आप ग्रिड को कैसे पॉप्युलेट कर रहे हैं। लेकिन आपके लिए बेहतर काम क्या हो सकता है कि प्रारंभिक समय पर पेजर और बटन बनाना और उसके बाद बटन को गतिशील रूप से छुपाएं या अक्षम करें यदि ग्रिड खाली होने की कोशिश करने के बाद खाली हो। साथ ही, यहां आपने जो प्रश्न पूछा है वह एक अच्छा सामान्य प्रश्न है, आप अपने विशिष्ट कोड के बारे में एक नया प्रश्न पूछ सकते हैं (और इससे इस से लिंक करें)। –

+0

@ जस्टिन .. यहां नया प्रश्न देखें http://stackoverflow.com/q/9688461/213982 इसमें पूर्ण कोड कार्यान्वयन – pundit

2
docs से

:

reccountपूर्णांक केवल पढ़ने के लिए संपत्ति

ग्रिड में पंक्तियों की बिल्कुल संख्या निर्धारित करता है। रिकॉर्ड पैरामीटर के साथ इस को मिश्रण न करें। इसके बजाए ज्यादातर मामलों में वे बराबर हैं जहां एक ऐसा मामला है जहां यह सत्य नहीं है। उदाहरण के लिए आप rowNum पैरामीटर 15 को परिभाषित करते हैं, लेकिन आप सर्वर रिकॉर्ड्स पैरामीटर = 20 से वापस आते हैं, फिर रिकॉर्ड पैरामीटर 20 होगा, रिक्त पैरामीटर 15, होगा और ग्रिड में आपके पास 15 रिकॉर्ड होंगे।

1

लोडकंपलेट घटना में आपके पास ग्रिड से जुड़ी डेटा ऑब्जेक्ट तक पहुंच है और आप रिकॉर्ड्स की संख्या देख सकते हैं। वहां आप अपने बटन

loadComplete: function(data){ 
    //data.Rows.length or call reccount 
    }, 
+0

मैंने कुछ समय पहले यह जवाब देखा था। http://stackoverflow.com/a/1019528/213982। क्या यह ऐसा कुछ है? – pundit

+2

आप jQuery ("# ​​grid_id") नहीं करेंगे। GetGridParam ("रिकॉर्ड्स") कॉल करें यह पुरानी एपीआई है और लोडकंपलेट में "डेटा" में उन रिकॉर्ड्स होंगे और आप इससे गिनती प्राप्त कर सकते हैं या रिकॉर्उंट विधि को अन्य के रूप में कॉल कर सकते हैं जवाब संकेत दिया है। लेकिन मुझे लगता है कि आप इसे लोड अपूर्ण घटना में करना चाहते हैं ताकि आप अपना बटन बदल सकें –

+1

सहमत - देखें http://stackoverflow.com/questions/9688461/how-to-hide-and-show-custom -बूटन-इन-jqgrid-by-use-reccount/9688910 # 9688910 –

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

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