Saturday 15 March 2014

silverlight - Datagrid cannot sort on some fields - object, object subfield, base type -


जब एक सिल्वरलाइट डेटाग्रिड का प्रयोग IList व्युत्पन्न डेटा स्रोत के साथ होता है तो संभव है कि इसके द्वारा क्रमबद्ध करने के लिए एक कॉलम पर क्लिक करें, CanUserSortColumn / CanUserSort गुण झूठे नहीं हैं।

हालांकि मुझे कुछ किनारे वाले मामलों को हल नहीं किया जा सकता है - मान दिखाए जाते हैं, लेकिन स्तंभ पर क्लिक करने से कोई प्रभाव नहीं पड़ता।

पहली किनारे मामलों को बहुत सरल सूची & lt; स्ट्रिंग & gt; लगता है, जो मान दिखाता है, लेकिन सॉर्टिंग की अनुमति नहीं देता है यह बहुत मायने नहीं रखता है कि स्ट्रिंग इलैप्मेंट आईसीपरपरबल।

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

  सार्वजनिक वर्ग कंटेनर आईटम {सार्वजनिक ऑब्जेक्ट चाइल्डवैल्यू {get; सेट;} // अन्य गुण}  

बालवॉल का मान ग्रिड में प्रदर्शित किया जा सकता है, और यदि बालव्यूअल को असाइन किया गया प्रकार गुण है तो हम उन्हें (बाल वैल्यू) से बाध्य कर सकते हैं। > संपत्ति ), लेकिन हम कॉलम को सॉर्ट नहीं कर सकते हैं।

यह स्पष्ट है कि परिभाषित प्रकार की कमी एक मुद्दा है - यहां स्पष्ट रूप से समस्या हो सकती है यदि वस्तुओं, जहां विभिन्न, असंगत प्रकार ।

ऐसा लगता है कि मुझे एक काम के आसपास की जरूरत है - मुझे कंटेनर आईटम वर्ग की परिभाषा पर नियंत्रण है, मेरी विशिष्ट स्थिति में मैं इसके साथ अटक गया क्योंकि ChildValue को गतिशील रूप से असाइन किया गया है। , और बाल वैल्यू के गुणों को बाइंडिंग हमेशा एकवे (केवल कंटेनर आईटम के निश्चित गुणों को दो तरह से बाध्यकारी का उपयोग करते हैं)।

क्या मैं संभवतः सॉर्टमंबरपैथ का उपयोग कर सकता हूं और इसे कंटेनर आईटम की कुछ सरणी संपत्ति में बाँध सकता हूं, जहां प्रत्येक तत्व सरणी का एक कंटेनर आईटम कॉम्पैरर ऑब्जेक्ट है जिसमें कॉलम की बाध्यकारी जानकारी से भरी वस्तु है, जिससे वह दो बाल मूल्य गुणों के मूल्यों को खींच सकता है, उनकी तुलना कर सकता है, और डेटाग्रिड के बिना नतीजे को लौटा सकता है कि संपत्तियों नग्न वस्तुओं हैं?

मुझे लगता है कि पहले किनारे का मामला बहुत कृत्रिम है। आप तारों की सूची को एक डाटाग्रिड में बाँध क्यों करेंगे? यह शायद काम नहीं करता है क्योंकि इसके लिए कोई प्रॉपर्टी नाम नहीं है जैसा कि एक तरह से मार्ग के रूप में उपयोग करना है

गतिशील रूप से क्रमबद्ध करने के प्रश्न के लिए, आप शायद अपने संग्रह में कार्यान्वित करना बेहतर होगा। फिर आप मैन्युअल रूप से छँटाई को नियंत्रित कर सकते हैं, लेकिन इसे सॉर्टिंग से निर्मित कार्य को लागू करने की कोशिश किए बिना इसे संभाल करना चाहते हैं।


No comments:

Post a Comment