हम एचटीएमएल फॉर्म टेक्स्ट बॉक्स आउटपुट के लिए एक कस्टम फॉर्मेटर का उपयोग करते हैं। यदि किसी उपयोगकर्ता ने डेटा में प्रवेश किया है और उन्होंने अगला/पिछला बटन दबाया है, तो हम उन्हें बताना चाहते हैं कि "आपने डेटा संपादित किया है, इस पृष्ठ पर बने रहने के लिए ठीक दबाएं और अपना डेटा सहेजें"। तुम ऐसा कैसे कर सकते हो?jqGrid पेजर नेविगेशन को रोकें?
'onPaging' घटना जब आप पेजर का उपयोग करते हैं तो आग लगती है लेकिन ऐसा लगता है कि यह आपको अंकन से होने से रोकने नहीं देता है।
अद्यतन: वर्तमान वैकल्पिक हल:
var currPg = 1;
var dirty = 'false';
$("#list").jqGrid({
...
onPaging: function (b) {
var nextPg = $("#list").getGridParam("page");
if (dirty == 'false') {
currPg = nextPg;
return;
}
$("#dialog-confirm").dialog({
modal: true,
buttons: {
"Stay on current page": function() {
$(this).dialog("close");
},
"Change page": function() {
$(this).dialog("close");
reloadGrid($("#list"), null, nextPg, 'false');
}
}
});
$("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)
return 'stop';
},
अद्यतन 2: बग लॉग इन here।
धन्यवाद ओलेग, अब इस पर काम कर रहा है। एक बग मुझे लगता है कि मुझे पता चला है कि यदि आप 'स्टॉप' वापस करते हैं तो ग्रिड पेज नंबर अभी भी बढ़ रहा है .. एक बग सबमिट करेगा .. –
@ मैकर्स: एक वर्कअराउंड के रूप में आप 'सेटग्रिडपाराम' – Oleg
के साथ मान को रीसेट कर सकते हैं कि :) क्या वर्तमान में प्रदर्शित पृष्ठ को निर्धारित करने का कोई तरीका है? यदि आप 'गेटग्रिडपैम (' पेज ') का उपयोग करते हैं, तो यह पृष्ठ लौटाता है जो अगले प्रदर्शित होगा। मैंने प्रदर्शित होने वाले वास्तविक पृष्ठ संख्या का ट्रैक रखने के लिए एक नया चर का उपयोग किया - सुनिश्चित नहीं है कि कोई बेहतर तरीका है .. –