'宣言 Public Property FilterAction As RecordFilterAction
public RecordFilterAction FilterAction {get; set;}
FilterAction プロパティは、フィルター アウトされたレコードに対して実行するアクションを指定します。デフォルトでは、フィルター条件が一致しないレコードを非表示にします。このプロパティを Disable に設定して、フィルター アウトされたレコードを非表示にする代わりに無効にします。このプロパティを None に設定した場合、データ プレゼンターはフィルター アウト レコードに何もしません。表示されたままです。しかし、レコードの DataRecord.IsFilteredOut プロパティは、レコードが実際にフィルター条件に一致するかどうかを反映するよう更新されます。スタイルまたはレコード要素のテンプレートにフィルター アウトまたはフィルター インされるレコードに外観を適用するために、そのオプションを使用します。
Imports Infragistics.Windows Imports Infragistics.Windows.Controls Imports Infragistics.Windows.Editors Imports Infragistics.Windows.DataPresenter Imports Infragistics.Windows.DataPresenter.Events Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' By default the data presenter hides records not matching filter criteria. ' Set the FilterAction to None to keep those records in view. _dp.FieldLayoutSettings.FilterAction = RecordFilterAction.None Dim filter As RecordFilter = New RecordFilter() filter.FieldName = "Country" filter.Conditions.Add(New ComparisonCondition(ComparisonOperator.Equals, "US")) _dp.FieldLayouts(0).RecordFilters.Add(filter) ' Create a style that targets DataRecordCellArea. Dim style As Style = New Style(GetType(DataRecordCellArea)) ' Add a trigger that will highlight records green that match the filter criteria. Dim matchCriteriaTrigger As Trigger = New Trigger() matchCriteriaTrigger.Property = DataRecordCellArea.IsFilteredOutProperty matchCriteriaTrigger.Value = False matchCriteriaTrigger.Setters.Add(New Setter(Control.BackgroundProperty, Brushes.LightGreen)) ' Add a trigger that will highlight records yellow that match the filter criteria. Dim notMatchCriteriaTrigger As Trigger = New Trigger() notMatchCriteriaTrigger.Property = DataRecordCellArea.IsFilteredOutProperty notMatchCriteriaTrigger.Value = True notMatchCriteriaTrigger.Setters.Add(New Setter(Control.BackgroundProperty, Brushes.LightYellow)) style.Triggers.Add(matchCriteriaTrigger) style.Triggers.Add(notMatchCriteriaTrigger) ' Add the style. _dp.Resources.Add(GetType(DataRecordCellArea), style) End Sub
using Infragistics.Windows; using Infragistics.Windows.Controls; using Infragistics.Windows.Editors; using Infragistics.Windows.DataPresenter; using Infragistics.Windows.DataPresenter.Events; public void Window1_Loaded( object sender, RoutedEventArgs e ) { // By default the data presenter hides records not matching filter criteria. // Set the FilterAction to None to keep those records in view. _dp.FieldLayoutSettings.FilterAction = RecordFilterAction.None; RecordFilter filter = new RecordFilter( ); filter.FieldName = "Country"; filter.Conditions.Add( new ComparisonCondition( ComparisonOperator.Equals, "US" ) ); _dp.FieldLayouts[0].RecordFilters.Add( filter ); // Create a style that targets DataRecordCellArea. Style style = new Style( typeof( DataRecordCellArea ) ); // Add a trigger that will highlight records green that match the filter criteria. Trigger matchCriteriaTrigger = new Trigger( ); matchCriteriaTrigger.Property = DataRecordCellArea.IsFilteredOutProperty; matchCriteriaTrigger.Value = false; matchCriteriaTrigger.Setters.Add( new Setter( Control.BackgroundProperty, Brushes.LightGreen ) ); // Add a trigger that will highlight records yellow that match the filter criteria. Trigger notMatchCriteriaTrigger = new Trigger( ); notMatchCriteriaTrigger.Property = DataRecordCellArea.IsFilteredOutProperty; notMatchCriteriaTrigger.Value = true; notMatchCriteriaTrigger.Setters.Add( new Setter( Control.BackgroundProperty, Brushes.LightYellow ) ); style.Triggers.Add( matchCriteriaTrigger ); style.Triggers.Add( notMatchCriteriaTrigger ); // Add the style. _dp.Resources.Add( typeof( DataRecordCellArea ), style ); }