2013-10-31 16 views
9

साथ मैं नीचे के रूप मेंपृष्ठांकन

var namePresent; 
    var datafromgrid = $('#MyGrid').jqGrid('getRowData'); 
    for (var i = 0; i < rowCount; i++) { 
     var name = datafromgrid[i].Name; 
     var firstname = name.split(/ +/); 
     if (firstname[0].toLowerCase() == Name.toLowerCase()) { 
      namePresent = 1; 
     } 
    } 

अब जब मेरे ग्रिड 5 रिकॉर्ड के साथ भरी हुई है लगता है ग्रिड डेटा का उपयोग करना चाहते हैं jqgrid में सभी पंक्तियों के लिए डेटा प्राप्त करने के लिए कैसे फिर इस कोड फेंकता से के रूप में पंक्ति var name = griddata[i].Name; पर त्रुटि ग्रिड यह griddata पढ़ने में असमर्थ है [5]। कृपया मुझे बताएं कि पूरे ग्रिड डेटा को कैसे पढ़ा जाए, भले ही यह स्क्रीन पर दिखाई न दे, लेकिन सफलतापूर्वक लाया गया हो?

उत्तर

24

आप उपयोग करने का प्रयास कर सकते हैं:

var allRowsInGrid = $('#list4').jqGrid('getGridParam','data'); 
+1

वाह !!! आप मेरे हीरो हैं!!! आपका बहुत बहुत धन्यवाद!!! मेरे पास बहुत अनुकूलित ग्रिड है जहां एक सेल में एकाधिक इनपुट हो सकते हैं और आपका कोड मुझे स्थानीय डेटा में हेरफेर करने की अनुमति देता है और फिर उन्हें सर्वर पर भेजता है। –

+0

मेरे लिए भी काम किया! –

5

इस तरह अधिक "सुंदर" है:

var allRowsInGrid = $('#list4').getGridParam('data'); 
-1

प्रलेखन की खुदाई के बाद, इस सीधे आगे रास्ता मिल गया।

var allRowsInGrid = $('#list4').jqGrid('data'); 

यह आपको एक जावास्क्रिप्ट ऐरे ऑब्जेक्ट देता है। जेएस ऑब्जेक्ट में मानों की जांच करने के लिए आप बस निम्न तरीके से उपयोग कर सकते हैं।

var stringVersion = JSON.stringify(allRowsInGrid); 

alert (stringVersion); 
संबंधित मुद्दे