अपडेट करते समय केंडो यूआई ग्रिड को कई बार पुनर्विचार से कैसे रोकें जब आप एमवीवीएम के साथ केंडो यूआई ग्रिड से जुड़ते हैं, तो डाटाबेस एक बार आग लग जाएगा और सब ठीक है। यदि आपको तथ्य के बाद उस डेटा को अपडेट करने की आवश्यकता है, हर बार जब आप किसी भी व्यूमोडेल (या बाल व्यूमोडेल) पर डेटा का एक टुकड़ा बदलते हैं, तो संपूर्ण ग्रिड पुनः डेटाबेस। इस प्रकार, यदि आपके पास ग्रिड में कुछ सेल है जो टेम्पलेट से जुड़ा हुआ है और आपको कुछ बाहरी AJAX स्रोत से व्यूमोडेल पर 2 या 3 गुणों को बदलना है, तो डाटाबेस प्रत्येक मॉडल के लिए 2 या 3 बार आग लग जाएगा, जिससे पुनर्जीवित करने के लिए पूरे देखने योग्य क्षेत्र। हम एक साथ कई सारे डेटा कैसे अपडेट कर सकते हैं और केवल एक बार डाटाबेस फायर कर सकते हैं?व्यूमोडल्स
उत्तर
आप ग्रिड को वास्तव में कैसे पुनर्जीवित करते हैं? मूल रूप से आप इस तरह मॉडलों के कुछ परिवर्तित करते हैं:
dataItem.set('SomeField','new value');
dataItem.set('someOtherField','other value');
इस तरह ग्रिड वास्तव में MVVM की वजह से दो बार बाध्य होंगे। प्रत्येक बार जब आप कॉल करते हैं तो परिवर्तन ईवेंट ट्रिगर होता है।
लेकिन अगर आप इस तरह मानों को अपडेट करता है, तो:
dataItem.SomeField='new value';
dataItem.someOtherField= 'other value';
ग्रिड अभ्यस्त परिवर्तन करने के लिए प्रतिक्रिया और अभ्यस्त rebind ताज़ा के माध्यम से मॉडल से मूल्यों को फिर से पढ़ आप यह करने के लिए मजबूर कर सकते हैं ग्रिड विधि।
$('#gridName').data().kendoGrid.refresh()
मुझे यकीन नहीं है कि घटनाओं को सुनना बंद करने के लिए अस्थायी रूप से ग्रिड को बताने का कोई तरीका है और फिर अंत में, एक बार फिर से सिंक करें। यदि ऐसा है, तो कृपया उस उत्तर को यहां दें! अन्यथा, मैंने इसके बजाय क्या किया है कि मैं प्रत्येक आइटम के लिए .set() से नहीं जाता था। इसके बजाय, मैंने डेटा को सीधे संपत्ति पर सेट करके सभी पंक्तियों के लिए डेटा अपडेट किया। तब जब मैं आखिरी पंक्ति में गया तो मैं अपडेट कर रहा था, मैंने अंतिम संपत्ति पर .set() को बुलाया जिसे अद्यतन करने की आवश्यकता थी। यह डाटाबेस को केवल एक बार आग लगने का कारण बनता है और संपूर्ण ग्रिड बदलकर सभी डेटा के साथ खुद को ताज़ा कर देगा। यदि आप इसे इस तरह से नहीं करते हैं, तो पृष्ठ पर प्रदर्शित होने वाली अधिक पंक्तियां, प्रक्रिया में जितनी अधिक समय लगती है। (उपयोगकर्ता फिर से कुछ भी कर सकता है इससे पहले 20+ सेकंड लग सकते हैं।)
एक और तरीका है बस अंतिम आइटम पर कुछ फर्जी संपत्ति जोड़ सकते हैं और अंत में अपने मूल्य को बदलने के लिए है। यह एक ही प्रभाव का कारण बन जाएगा। –
ऐसा लगता है कि डेटा बाइंडिंग ईवेंट है जहां आप ग्रिड पर रिबाइंड को रोक सकते हैं।
- 1. व्यूमोडल्स
- 2. एमवीवीएम: व्यूमोडल्स
- 3. यूआई थ्रेडिंग व्यूमोडल्स
- 4. व्यूमोडल्स, एडिटमोडल्स और ऑटोमैपर
- 5. एमवीसी मैपिंग व्यूमोडल्स को पीओसीओ
- 6. क्या वीपीएपीआई नियंत्रक रिटर्न व्यूमोडल्स
- 7. कैलिबर्न। मिक्रो इसे अपने व्यूमोडल्स
- 8. एमवीसी 3 ModelState.IsValid एकाधिक व्यूमोडल्स
- 9. स्टेटिक व्यू मॉडल्स बनाम इंस्टेंटेड व्यूमोडल्स
- 10. एकाधिक व्यूमोडल्स पर एकाधिक विचारों को बाध्य करें
- 11. व्यूमोडल्स के संग्रह के लिए बाध्यकारी टैबकंट्रोल आइटमसोर्स
- 12. एमवीवीएम लाइट एप्लिकेशन - व्यूमोडल्स को ठीक से कैसे साफ करें
- 13. क्या यह वेबपी में व्यूमोडल्स रखने के लिए समझ में आता है?
- 14. व्यूमोडल्स की एक पेजेडलिस्ट में इकाइयों की एक बड़ी सूची मैपिंग
- 15. एएसपी.नेट एमवीसी - क्या मुझे डेटाबेस में व्यूमोडल्स लिखने या उन्हें मॉडल में बदलने के लिए रिपोजिटरी पैटर्न का उपयोग करना चाहिए?
- 16. एएसपीनेट एमवीसी
- 17. दृश्य मॉडल और डेटा स्थानांतरण ऑब्जेक्ट के बीच क्या अंतर है?
- 18. डब्ल्यूपीएफ एमवीवीएम: प्रत्येक TabItem के लिए एक अलग ViewModel बाध्यकारी?
- 19. प्रमाणीकरण: मॉडल या व्यूमोडेल
- 20. आप WPF
- 21. डेटा एक गैर-खाली नियंत्रक के साथ एक ViewModel टेम्पलेट?
- 22. मॉडल दृश्य में नई विंडो लाने के लिए सबसे अच्छी जगह ViewModel
- 23. एमवीवीएम - सिल्वरलाइट और डब्ल्यूपीएफ
- 24. सी # कोड से एचटीएमएल/सीएसएस/jquery
- 25. मैं अभी भी
- 26. निष्क्रियता के बाद Durandal में व्यूमोडेल का निपटान कैसे करें
- 27. WPF मान्यता फ्रेमवर्क
- 28. सी #: 1 से अधिक कक्षा
- 29. टाइप किए गए दृश्य का उपयोग करते समय ActionFilterAttribute में मॉडल डेटा कैसे सेट करें
- 30. ViewModelLocator में ViewModels MVVM लाइट
यह दृष्टिकोण तब तक ठीक काम करता है जब तक आप जानते हैं कि आप किस तत्व से बंधे हैं। यदि आप जिस डेटा को अपडेट कर रहे हैं वह एक से अधिक चीज़ों से जुड़ा हुआ है और इसे किसी प्रकार की लाइब्रेरी में अपडेट किया जा रहा है जहां आपको स्क्रीन तत्वों की परवाह नहीं है, इससे कुछ समस्याएं हो सकती हैं। यदि आप अंतिम आइटम की संपत्ति पर सेट() को कॉल करते हैं, तो आपको इसकी परवाह नहीं होगी कि इससे क्या बाध्य है। वे सभी अपडेट प्राप्त करेंगे। –