Version

ConditionGroup Class

Class used for grouping multiple conditions.
Syntax
'Declaration
 
Public Class ConditionGroup 
   Inherits System.Collections.ObjectModel.ObservableCollection(Of ICondition)
   Implements ICondition 
Remarks

ConditionGroup class is used for grouping multiple conditions. ConditionGroup itself implements ICondition interface and therefore you can create arbitrarily nested groups of conditions.

Conditions contained in the condition group are combined using the logical operator specified by the LogicalOperator property.

Example
The following code adds multiple conditions to a condition group and sets the group's LogicalOperator property.

The following code adds a RecordFilter for 'Percent' field. The record filter is populated with two conditions. The 'Conditions' property of the RecordFilter is of ConditionGroup type, which has a 'LogicalOperator' property that specifies whether to combine the conditions in the group using 'Or' or 'And' logical operation. The following code snippet sets the LogicalOperator to 'Or'.
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)
        
        Dim fieldLayout As FieldLayout = _dp.FieldLayouts(0)

        ' Create a filter that shows 'Percent' field where the values are less than 0
        ' or greater than 100.
        Dim filter As RecordFilter = New RecordFilter()
        filter.FieldName = "Percent"
        filter.Conditions.Add(New ComparisonCondition(ComparisonOperator.LessThan, 0))
        filter.Conditions.Add(New ComparisonCondition(ComparisonOperator.GreaterThan, 100))

        ' By default the LogicalOperator is 'And'. Since we want to 'Or' the above two
        ' conditions, set the LogicalOperator on the condition group to 'Or'.
        filter.Conditions.LogicalOperator = LogicalOperator.Or

        ' Apply the filter to the data presenter.
        fieldLayout.RecordFilters.Add(filter)

    End Sub
The following code adds a RecordFilter for 'Percent' field. The record filter is populated with two conditions. The 'Conditions' property of the RecordFilter is of ConditionGroup type, which has a 'LogicalOperator' property that specifies whether to combine the conditions in the group using 'Or' or 'And' logical operation. The following code snippet sets the LogicalOperator to 'Or'.
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 )
		{
			FieldLayout fieldLayout = _dp.FieldLayouts[0];

			// Create a filter that shows 'Percent' field where the values are less than 0
			// or greater than 100.
			RecordFilter filter = new RecordFilter( );
			filter.FieldName = "Percent";
			filter.Conditions.Add( new ComparisonCondition( ComparisonOperator.LessThan, 0 ) );
			filter.Conditions.Add( new ComparisonCondition( ComparisonOperator.GreaterThan, 100 ) );

			// By default the LogicalOperator is 'And'. Since we want to 'Or' the above two
			// conditions, set the LogicalOperator on the condition group to 'Or'.
			filter.Conditions.LogicalOperator = LogicalOperator.Or;

			// Apply the filter to the data presenter.
			fieldLayout.RecordFilters.Add( filter );
		}
The following code snippet adds a ConditionGroup with two conditions to the RecordFilter of 'Percent' field. The LogicalOperator on the condition group is set to 'Or' to combine the conditions using 'Or' instead of the default 'And' logical operation.
        <igDP:XamDataGrid x:Name="_dp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >

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

                    
<igDP:FieldLayout.RecordFilters>
                        
<igDP:RecordFilter FieldName="Percent">
                            
<!--Add a condition group with two conditions. By default the conditions will be
                            combined using 'And' logical operator. Set LogicalOperator to 'Or' to combine the
                            conditions in the group using 'Or' logical operator.
-->
                            
<igWindows:ConditionGroup LogicalOperator="Or">
                                
<igWindows:ComparisonCondition Operator="LessThan" Value="0" />
                                
<igWindows:ComparisonCondition Operator="GreaterThan" Value="100" />
                            
</igWindows:ConditionGroup>
                        
</igDP:RecordFilter>
                    
</igDP:FieldLayout.RecordFilters>
                    
                
</igDP:FieldLayout>
                
            
</igDP:XamDataGrid.FieldLayouts>
            
        
</igDP:XamDataGrid>
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also