आप ग्रिड कैसे बना सकते हैं लेकिन कोई डेटा लोड नहीं कर सकते?jqGrid - शुरू में किसी भी डेटा को लोड न करने के लिए ग्रिड सेट कैसे करें?
यदि मैं url
विकल्प छोड़ देता हूं तो loadError
कॉलबैक ट्रिगर किया जाता है।
वर्तमान में हम url:NoData.json
सेट करते हैं जहां NoData.json एक स्थिर फ़ाइल है जिसमें कोई पंक्ति नहीं है।
समस्या हमारे loadComplete
कॉलबैक में है, यदि ग्रिड में कोई डेटा नहीं है तो हम एक संदेश को डिस्प्ले करना चाहते हैं - सिवाय इसके कि हम इस संदेश को प्रारंभिक लोड पर प्रदर्शित नहीं करना चाहते हैं। इस प्रकार वर्तमान में हम इस संभालता है:
//jqGrid load complete handler
function loadComp(grid) {
if (grid.getGridParam("url") != "NoData.json" && grid.getGridParam("records") == 0) {
setStatus("Your search did not return any results");
}
}
यह सिर्फ एक छोटे से hacky लगता है .. बस ग्रिड शुरू में किसी भी डेटा लोड नहीं करना चाहते हैं।
कोई भी विचार?
कोशिश की - समस्या 'डेटाटाइप: स्थानीय 'और' यूआरएल 'के साथ है, मेरा' लोड पूर्ण 'कॉलबैक अभी भी कहा जाता है। मैं ऐसे दृष्टिकोण की उम्मीद कर रहा था जो कॉलबैक को ट्रिगर नहीं करेगा - या कॉलबैक में कम से कम एक क्लीनर तरीका यह निर्धारित करने के लिए कि यह ग्रिड लोड होने का प्रारंभिक समय है। –
@ मार्कस: कारणों से 'लोडकंपलेट' इवेंट हैंडल को सभी स्थितियों में बुलाया जाएगा। यदि आप सर्वर से लोड होने के मामले में केवल एक संदेश दिखाना चाहते हैं तो आप केवल संदेश प्रदर्शित कर सकते हैं यदि 'डेटाटाइप' "जेसन" के बराबर है जैसे http://stackoverflow.com/questions/3564898/jqgrid-programatically- चयन करें -ग्रिड-पंक्ति/3571392 # 3571392 – Oleg
'grid.getGridParam ('डेटाटाइप') ===" जेसन "' समाधान अच्छी तरह से काम किया .. –