उम्मीद है कि यह एक तेज़ है!jqGrid getData केवल वर्तमान पृष्ठ के लिए डेटा लौटाता है
मेरे पास 'क्लाइंटसाइड' (स्थानीय) डेटा का उपयोग करके एक संपादन योग्य ग्रिड है और अब मैं जावास्क्रिप्ट में सभी पंक्तियों को पुन: सक्रिय करना चाहता हूं और इसे jQuery.ajax कॉल के माध्यम से सर्वर पर भेजने से पहले डेटा को संसाधित/पैकेज करना चाहता हूं।
समस्या यह है कि, अप्रत्याशित रूप से (मेरे लिए कम से कम), निम्नलिखित कोड का उपयोग कर वर्तमान में दृश्यमान ग्रिड पृष्ठ के लिए केवल पंक्तियां पुनर्प्राप्त करता है! मैं ग्रिड में सभी पंक्तियां कैसे प्राप्त कर सकता हूं (यानी मेरे पास 10 रिकॉर्ड के चार पृष्ठ हैं और यह कोड केवल पहले 10 को देता है जब मैं पेज 1 पर हूं)? वे क्लाइंट में कहीं मौजूद होना चाहिए क्योंकि मैं पंक्तियों को संपादित और पंक्तियों को संपादित कर सकता हूं और सर्वर को कॉल किए बिना डेटा जारी रहता है! टोनी से :)
cacheCONF = [];
var rows= $('#myGrid').getRowData(); //<--Need to get ALL rows here!!!
var cacheRowID = 0;
for (var row in rows) {
if (rows[row].Action == 'Yes') {
cacheCONF.push({ RowID: rowID, System: rows[row].System, Action: rows[row].Action, Account: '-', Required: '-' });
rowID++;
}
}
से मिले एक समाधान अस्थायी रूप से पेज आकार बदल रहा है। उम्मीद है कि एक और "औपचारिक" समाधान है। कोड है: var पृष्ठ आकार = $ ('# myGrid')। GetGridParam ('rowNum'); $ ('# myGrid')। सेट ग्रिडपाराम ({rowNum: 10000})। ट्रिगर ("रीलोड ग्रिड"); getRowData फिर 10000 पंक्तियों तक पहुंच जाएगा (इसलिए इसे अधिकतम संभव पंक्तियों से अधिक सेट करें)। फिर आप पृष्ठ आकार को उपयोगकर्ता की प्राथमिकता पर वापस सेट करने के लिए पृष्ठ आकार का उपयोग कर सकते हैं। – jqwha