2011-05-08 11 views
6

मेरे पास एक WPF DataGrid है जो Entity Framework ऑब्जेक्ट्स के संग्रह से जुड़ा हुआ है जो मूल ईएफ ऑब्जेक्ट के अंदर है। की तर्ज पर कुछ:व्यक्तिगत डेटाग्रिड पंक्ति दृश्यता

<DataGrid ItemsSource="{Binding SelectedCustomer.Orders}" /> 

अब जब मैं एक आदेश "हटाएँ" करना चाहते हैं, मैं नहीं चाहता कि वास्तव में डेटा स्रोत से हटाने के लिए, चाहते हैं मैं सिर्फ सच करने के लिए अपने IsDeleted संपत्ति सेट करना चाहते हैं तो डेटा बरकरार रखा गया है।

मेरा प्रश्न है: यदि IsDeleted संपत्ति है तो यह पंक्ति को छोड़ने के लिए मैं अपने DataGrid कैसे प्राप्त कर सकता हूं? मैं वास्तव में बाइंडिंग का उपयोग करना चाहता हूं और कोडबेइंड नहीं करना चाहता हूं। कुछ इस तरह अद्भुत होगा:

<DataGrid ItemsSource="{Binding SelectedCustomer.Orders}" RowVisibilityPath="IsDeleted" /> 

DisplayMemberPath की तर्ज पर की तरह। मुझे एहसास है कि मुझे IsDeleted की स्थिति को बदलने की आवश्यकता होगी, लेकिन यह एक अलग विषय है।

कोई विचार?

+0

बस संग्रह लपेट और आवरण से निकाल देंगे। बाकी सब कुछ बहुत जटिल है। एक उचित दृश्य मॉडल के साथ कोई समस्या नहीं होनी चाहिए। – Falcon

उत्तर

2

आप CollectionView से filter पर अपने डेटा का उपयोग कर सकते हैं।

+0

क्या आप कुछ उदाहरण प्रदान कर सकते हैं, कृपया? –

+1

@ClarkKent: मुझे लगता है [यह ब्लॉग पोस्ट] (http://www.abhisheksur.com/2010/08/woring-with-icollectionviewsource-in.html) एक अच्छा ट्यूटोरियल है, और डाउनलोड करने योग्य स्रोत भी है। – Ben

+0

आपके उत्तर के लिए धन्यवाद! –

21
के रूप में उल्लेख आप RowStyle के माध्यम से यह कर सकते हैं एक CollectionView का उपयोग करने से एक तरफ

:

<DataGrid.RowStyle> 
    <Style TargetType="{x:Type DataGridRow}"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding IsDeleted}" Value="True"> 
       <Setter Property="Visibility" Value="Collapsed"/> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 
</DataGrid.RowStyle> 
+0

अच्छा पकड़, धन्यवाद! –

4
<DataGrid.RowStyle> 
    <Style TargetType="{x:Type DataGridRow}"> 
     <Setter Property="Visibility" Value="{Binding IsDeleted, Converter={StaticResource BoolToVisibility}}"/>          
    </Style> 
</DataGrid.RowStyle> 
संबंधित मुद्दे