バージョン

FilterAction プロパティ

フィルターによって除外されたレコードに対して実行するアクションを指定します。デフォルトは Hide に解決されます。
シンタックス
'宣言
 
Public Property FilterAction As RecordFilterAction
public RecordFilterAction FilterAction {get; set;}
解説

FilterAction プロパティは、フィルター アウトされたレコードに対して実行するアクションを指定します。デフォルトでは、フィルター条件が一致しないレコードを非表示にします。このプロパティを Disable に設定して、フィルター アウトされたレコードを非表示にする代わりに無効にします。このプロパティを None に設定した場合、データ プレゼンターはフィルター アウト レコードに何もしません。表示されたままです。しかし、レコードの DataRecord.IsFilteredOut プロパティは、レコードが実際にフィルター条件に一致するかどうかを反映するよう更新されます。スタイルまたはレコード要素のテンプレートにフィルター アウトまたはフィルター インされるレコードに外観を適用するために、そのオプションを使用します。

使用例
The following code demonstrates the usage of FilterAction property setting, particularly the 'None' setting of this property. It highlights records matching filter conditions as green and records not matching filter conditions as yellow.

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 );
		}
        <igDP:XamDataGrid x:Name="_dp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >

            
<igDP:XamDataGrid.FieldLayoutSettings>
                
<!--By default the data presenter hides records not matching filter criteria.
         Set the FilterAction to None to keep those records in view.
-->
                
<igDP:FieldLayoutSettings FilterAction="None" />
            
</igDP:XamDataGrid.FieldLayoutSettings>
            
            
<igDP:XamDataGrid.Resources>
                
<!--Create a style that targets DataRecordCellArea.-->
                
<Style x:Key="{x:Type igDP:DataRecordCellArea}" TargetType="{x:Type igDP:DataRecordCellArea}">
                    
<Style.Triggers>
                        
<!--Add a trigger that will highlight records green that match the filter criteria.-->
                        
<Trigger Property="IsFilteredOut" Value="false">
                            
<Setter Property="Background" Value="LightGreen" />
                        
</Trigger>
                        
<!--Add a trigger that will highlight records yellow that match the filter criteria.-->
                        
<Trigger Property="IsFilteredOut" Value="true">
                            
<Setter Property="Background" Value="LightYellow" />
                        
</Trigger>
                    
</Style.Triggers>
                
</Style>
            
</igDP:XamDataGrid.Resources>

            
<igDP:XamDataGrid.FieldLayouts>
                
                
<igDP:FieldLayout IsDefault="true">

                    
<igDP:FieldLayout.RecordFilters>
                        
<!--Add a filter for 'Country' field-->
                        
<igDP:RecordFilter FieldName="Country">
                            
<igWindows:ComparisonCondition Operator="Equals" Value="US" />
                        
</igDP:RecordFilter>
                    
</igDP:FieldLayout.RecordFilters>
                    
                
</igDP:FieldLayout>
                
            
</igDP:XamDataGrid.FieldLayouts>
            
        
</igDP:XamDataGrid>
参照