2013-02-19 62 views
5

मेरे पास एक डेटाग्रिड है जिसमें डेटाटेबल को इसके आइटमसोर्स के रूप में सेट किया गया है। डेटाटेबल में 24 कॉलम और ~ 1600 पंक्तियां हैं (वास्तव में मुझे बाद में बहुत अधिक पंक्तियां लोड करनी होंगी, लेकिन अभी के लिए यह काफी परेशानी है)।डब्ल्यूपीएफ डाटाग्रिड वर्चुअलाइजेशन ठीक से काम नहीं कर रहा है?

कॉलम और पंक्तियों के सक्रिय होने के लिए वर्चुअलाइजेशन सेट करने के बावजूद, डेटाग्रिड उन 1600 पंक्तियों को प्रदर्शित करने के लिए लगभग 30 सेकंड लेता है। उसके बाद, स्क्रॉलिंग लंबवत काम करता है, क्षैतिज रूप से लगी है, हालांकि आप इसे दूसरी तरफ उम्मीद करेंगे।

यदि मैं एक मेमोरी प्रोफाइलर चलाता हूं, तो मैं सत्यापित कर सकता हूं कि एप्लिकेशन द्वारा उपयोग की जाने वाली अधिकांश मेमोरी डेटाग्रिडसेल, सीमाओं, सामग्री प्रस्तुतकर्ताओं और टेक्स्टब्लॉक्स से आती है। मेरे लिए, यह इंगित करता है कि ग्रिड अपनी पंक्तियों को ठीक से वर्चुअलाइज नहीं करता है।

क्या कोई यह पुष्टि कर सकता है कि डेटाग्रिड के वर्चुअलाइजेशन के साथ कोई समस्या है? या इस नियंत्रण के कार्यान्वयन में कुछ प्रकार का कुख्यात जाल है?

किसी भी प्रकार के इनपुट/सुझावों के लिए तत्पर हैं। धन्यवाद :)

+0

क्या सभी कॉलम मानक कॉलम हैं, केवल टेक्स्ट का अर्थ है या उनमें से कुछ हैं जिनमें 'चेकबॉक्स' आदि जैसे नियंत्रण हैं? – DHN

+0

नहीं, उनमें से दो चेकबॉक्स हैं। –

+0

हम्म, फिर इसे दो कॉलम को आज़माएं और हटाएं या अपनी उपस्थिति को "मानक" में बदलें। – DHN

उत्तर

5

मैंने इस मुद्दे को हल किया है। मेरा डेटाग्रिड स्क्रॉलव्यूअर के अंदर बैठा था, जिसमें यह असीम रूप से फैल जाएगा। तो यह सोचने में मूर्ख था कि सब कुछ दिखाई दे रहा था, यही कारण है कि यह अपने सामान वर्चुअलाइज नहीं करेगा। मैंने स्क्रॉलव्यूअर को हटा दिया (डेटाग्रिड में स्क्रॉलबार स्वयं भी हैं) और यह अब बेकार ढंग से काम करता है।

1

हम्म, ठीक है, मुझे नहीं पता कि क्यों, लेकिन स्पष्ट रूप से मुझे यहां एक उत्तर पोस्ट करने के लिए कुछ गोंद पाठ जोड़ना है। शायद, यह SO answer आपकी मदद करेगा।

संपादित

के रूप में अतिरिक्त सलाह मैं चाहूँगा अपने दृष्टिकोण के बारे में सोचना आप की सिफारिश करने के लिए। क्या यह वास्तव में 1.6k + आइटम्स को DataGrid में जोड़ना आवश्यक है? शायद आपको स्थगित लोडिंग के बारे में सोचना चाहिए।

+1

हां, मैंने इसके बारे में सोचा है। आश्चर्यजनक रूप से, Winforms DataGrid सही ढंग से प्रदर्शन करने लगता है। –

+0

ठीक है, उत्तर में लिंक के बारे में क्या? – DHN

+0

चेकबॉक्स समस्या नहीं प्रतीत होता है। कहा कॉलम को हटाने से चाल नहीं हुई। –