) अद्यतन में grid.jqueryui.js में एक कॉल (jqGrid v3.8.2)() ts.p.sortable.update (के रूप में jqGrid message board पर चर्चा की है, इसलिए नहीं है:
jQuery('#gridId').jqGrid({
...,
sortable: { update: function(permutation) {
alert('save permutation somewhere');
},
...
});
हालांकि , कृपया ध्यान दें कि आपके कॉलबैक में पारित सरणी वर्तमान कॉलम ऑर्डर के सापेक्ष होगी। दूसरे शब्दों में, एकाधिक स्तंभों को स्थानांतरित करने के बाद सरणी को सहेजने से वांछित परिणाम नहीं मिलेंगे।
var defaultColNames = [ 'Alpha', 'Beta', 'Gamma' ];
var defaultColModel = [
{ name: 'alpha', index: 'alpha' },
{ name: 'beta', index: 'beta' },
{ name: 'gamma', index: 'gamma' }
];
jQuery('#gridId').jqGrid({
...,
colNames: defaultColNames,
colModel: defaultColModel,
sortable: { update: function(relativeColumnOrder) {
var grid = jQuery('#gridId');
var defaultColIndicies = [];
for(var i=0; i<defaultColModel.length; i++) {
defaultColIndicies.push(defaultColModel[i].name);
}
if(grid.getGridParam('treeGrid')) {
// tree grid mode adds 5 extra columns
defaultColIndicies = defaultColIndicies.concat(['level','parent','isLeaf','expanded','loaded']);
}
var columnOrder = [];
var currentColModel = grid.getGridParam('colModel');
for(var j=0; j<relativeColumnOrder.length; j++) {
columnOrder.push(defaultColIndicies.indexOf(currentColModel[j].name));
}
// columnOrder now contains exactly what's necessary to pass to to remapColumns
// now save columnOrder somewhere
globalColumnOrder = columnOrder;
},
...
});
// grab saved column order from cookie or something
var globalColumnOrder = [0,1,2];
// append to array if tree grid enabled
if(jQuery('#gridId').getGridParam('treeGrid')) {
// tree grid mode adds 5 extra columns
for(var k=defaultColNames.length; k<(defaultColNames.length+5); k++) {
globalColumnOrder.push(k);
}
}
// restore column order
jQuery('#gridId').jqGrid('remapColumns', globalColumnOrder, true, false);
धन्यवाद ... मैंने सोचा था कि वह भी वादा कर लग रहा था। हालांकि मैं अभी भी यह नहीं समझ सकता कि मैं इस घटना के लिए एक हैंडलर कैसे सेट कर सकता हूं। मैंने अपडेट जोड़ने का प्रयास किया है: फ़ंक्शन (ईवेंट, ui) {अलर्ट (""); } जब मैं ग्रिड शुरू करता हूं, और $ ("# सूची")।बांधें ("sortupdate", फ़ंक्शन() {अलर्ट ("");}); ग्रिड के प्रारंभ होने के बाद । लेकिन कोई भी मेरे लिए काम नहीं करता ... कोई संकेतक? – Adam