2011-08-03 4 views
6

मैं "Automatic WPF Toolkit DataGrid Filtering" आलेख के तहत मिले कोड (VS2008) का उपयोग कर रहा हूं, जो बहुत अच्छी तरह से काम करता है। इसे डेटाग्रिड के शीर्षलेख के लिए एक नई "शैली" के रूप में लागू किया गया है, न कि डेटाग्रिड के विस्तार के रूप में। मेरा सवाल यह है कि मैं उन फ़िल्टर बॉक्स में दर्ज मानों को कैसे सहेज सकता हूं, और बाद में उन मानों को फिर से दर्ज करने के लिए उनका उपयोग कर सकता हूं?मैं WPF टूलकिट डेटाग्रिड "फ़िल्टर एक्सटेंशन" में फ़िल्टर मानों को कैसे सहेजूं?

यदि संभव नहीं है, तो मैं स्रोत कोड (उपरोक्त लिंक से उपलब्ध) को फ़िल्टर (WPF newbie) में संशोधित करने के बारे में कैसे जाउंगा।

धन्यवाद,

एनरिको

उत्तर

0

आप उन्हें UserSettings को बचा सकता है। मैं प्रत्येक फिल्टर प्रविष्टि और लोड पर उपयोगकर्ता प्रविष्टि बनाउंगा, फ़िल्टर को पॉप्युलेट करता हूं।

2

बहुत अधिक समय कोड विश्लेषण में गहरी जाने के लिए नहीं है, लेकिन आपके द्वारा दी गई कोड में पा सकते हैं:

Generic.xamlline 55 पर में आप इस कोड को मिलेगा:

<Setter Property="Template"> 

इस कोड वास्तव में ग्रिड कॉलम के लिए टेम्पलेट सेट करता है। के बीच मेंXAML आपको DelayTextBox प्रकार की घोषणा मिलेगी। वह तुम्हारी कुंजी है!

DelayTextBox प्रकार OnTextChanged(TextChangedEventArgs e) खोज शुरू करता है।

बस एक और फिर संकेत:

DataGridColumnFilter.cs में आप निम्नलिखित संपत्ति मिलेगा: get/set को

public FilterData FilterCurrentData 
{ 
    get { return (FilterData)GetValue(FilterCurrentDataProperty); } 
    set { SetValue(FilterCurrentDataProperty, value); } 
} 

रखें ब्रेकप्वाइंट, कार्यक्रम चलाने और स्तंभों को फ़िल्टर। आपको एक स्पष्ट callstack दृष्टि मिलेगी, इसलिए यह तय कर सकता है कि आप अपने ऐप डिज़ाइन के आधार पर टेक्स्टबॉक्स का वास्तविक मूल्य कहां उठा सकते हैं।

संपादित

FilterData प्रकार पर देखो, यह मुझे लगता है, एक जानकारी की आवश्यकता होती है।

उम्मीद है कि इससे मदद मिलती है।

सम्मान।

+0

@ जेसन: धन्यवाद ... – Tigran

+0

कोई समस्या नहीं। मैं कभी-कभी खुद की मदद नहीं कर सकता। –

संबंधित मुद्दे