2012-02-07 15 views
7

मेरे पास एक jqGrid है जहां एक पंक्ति क्लिक पर संपादन योग्य है (यानी 'ऑनसलेक्ट्रो' के अंदर 'editRow' ठीक काम करता है)। लेकिन मेरी आवश्यकता है कि "मोड को संपादित करें (इनलाइन एडिट) द्वारा सभी पंक्तियों के साथ ग्रिड को लोड करें", इसलिए व्यक्तिगत पंक्तियों पर क्लिक करने के लिए मुझे कोई आवश्यकता नहीं होनी चाहिए। क्या कोई कुछ रोशनी फेंक सकता है?jqGrid: डिफ़ॉल्ट रूप से "इनलाइन संपादन मोड" में सभी पंक्तियां

मैं नीचे दिए गए कोड लेकिन फ्लॉप काम

var data_val = myGrid.getRowData(); 
for (var i=0;i<data_val.length;i++) 
{ 
myGrid.editRow(data_val[i], true); 
} 

उत्तर

14

आप ग्रिड के सभी पंक्तियों की गणना और हर पंक्ति के लिए editRow कॉल करनी होगी की कोशिश की। कोड निम्नलिखित

loadComplete: function() { 
    var $this = $(this), ids = $this.jqGrid('getDataIDs'), i, l = ids.length; 
    for (i = 0; i < l; i++) { 
     $this.jqGrid('editRow', ids[i], true); 
    } 
} 

या निम्न

loadComplete: function() { 
    var $this = $(this), rows = this.rows, l = rows.length, i, row; 
    for (i = 0; i < l; i++) { 
     row = rows[i]; 
     if ($.inArray('jqgrow', row.className.split(' ')) >= 0) { 
      $this.jqGrid('editRow', row.id, true); 
     } 
    } 
} 
+0

वाह की तरह हो सकता है !!! ओलेग! तुम ओह की तरह हो! हे भगवान!!! आपने मेरा दिन बना दिया। धन्यवाद एक लाख ... – CodeMad

+1

@CodeMad: आपका स्वागत है! मुझे खुशी है कि मैं आपकी मदद कर सकता हूं। – Oleg

+1

@ ओलेग मैं jQuery के 'हैस्क्लास' फ़ंक्शन का उपयोग करने का सुझाव दूंगा: '$ (पंक्ति)। हस क्लास ('jqgrow'); 'वर्बोज़ और अविश्वसनीय' inArray' फ़ंक्शन के बजाय: '$ .inArray (' jqgrow ', row.className .split (''))> = 0'। आप कभी भी सफेद-स्थान ('' '') के आकार को नहीं जान सकते हैं। –

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