'Declaration Public Property RecordFilterScope As RecordFilterScope
public RecordFilterScope RecordFilterScope {get; set;}
RecordFilterScope property determines whether record filtering is done at the field-layout level or individual record collection level. This only matters for and affects child field layouts. If this property is set to AllRecords then when the user enters a filter criteria all records associated with the field-layout are applied that filer. If the property is set to SiblingDataRecords then the filter criteria is only applied to data records of the particular record collection. Default is resolved to SiblingDataRecords.
NOTE: This property affects how you specify filter criteria in code. If this property is set to AllRecords then you must use FieldLayout's RecordFilters property. If this property is set to SiblingDataRecords then you must use the RecordManager's RecordManager.RecordFilters.
Imports Infragistics.Windows Imports Infragistics.Windows.Controls Imports Infragistics.Windows.Editors Imports Infragistics.Windows.DataPresenter Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) Dim fieldLayout As FieldLayout = _dp.FieldLayouts(0) ' Create a new RecordFilter for 'Country' field. Dim filter As RecordFilter = New RecordFilter() filter.FieldName = "Country" filter.Conditions.Add(New ComparisonCondition(ComparisonOperator.Equals, "US")) ' Add the RecordFilter to field layout's RecordFilters collection. fieldLayout.RecordFilters.Add(filter) ' If you have hierarchical data source then you can also filter child records. ' Create a RecordFilter that filters the child records. filter = New RecordFilter() filter.FieldName = "Product" filter.Conditions.Add(New ComparisonCondition(ComparisonOperator.Equals, "A")) ' Now add the filter. For child field layouts, each individual parent ' record's child records can be filtered independently. That is one parent ' record's child records can have different filter criteria from another ' parent record's child records. This is the default mode of filtering. You ' can change it by setting RecordFilterScope property to AllRecords in which ' case all child records in the child field layout are affected by the ' filter. However depending on the mode, the place where you specify the ' filter criteria is different. For the default SiblingDataRecords mode, you ' need to specify the filter criteria on RecordFilters property of the child ' RecordManager of a parent record. For the AllRecords mode, use the child ' FieldLayout's RecordFilters property. Note that the root field layout ' doesn't support SiblingDataRecords mode since it doesn't have multiple ' record collections and therefore for the root field layout, always use the ' field layout's RecordFilters property. ' Dim childDataRecordsManager As RecordManager = _dp.RecordManager.Unsorted(0).ChildRecords(0).ChildRecordManager Dim childFieldLayout As FieldLayout = _dp.FieldLayouts(1) childFieldLayout.Settings.RecordFilterScope = RecordFilterScope.AllRecords If RecordFilterScope.AllRecords = childFieldLayout.Settings.RecordFilterScope Then ' When using AllRecords mode, use the field layout's RecordFilters. childFieldLayout.RecordFilters.Add(filter) Else ' When using SiblingDataRecords, use the child RecordManager's RecordFilters. childDataRecordsManager.RecordFilters.Add(filter) End If End Sub
using Infragistics.Windows; using Infragistics.Windows.Controls; using Infragistics.Windows.Editors; using Infragistics.Windows.DataPresenter; public void Window1_Loaded( object sender, RoutedEventArgs e ) { FieldLayout fieldLayout = _dp.FieldLayouts[0]; // Create a new RecordFilter for 'Country' field. RecordFilter filter = new RecordFilter( ); filter.FieldName = "Country"; filter.Conditions.Add( new ComparisonCondition( ComparisonOperator.Equals, "US" ) ); // Add the RecordFilter to field layout's RecordFilters collection. fieldLayout.RecordFilters.Add( filter ); // If you have hierarchical data source then you can also filter child records. // Create a RecordFilter that filters the child records. filter = new RecordFilter( ); filter.FieldName = "Product"; filter.Conditions.Add( new ComparisonCondition( ComparisonOperator.Equals, "A" ) ); // Now add the filter. For child field layouts, each individual parent // record's child records can be filtered independently. That is one parent // record's child records can have different filter criteria from another // parent record's child records. This is the default mode of filtering. You // can change it by setting RecordFilterScope property to AllRecords in which // case all child records in the child field layout are affected by the // filter. However depending on the mode, the place where you specify the // filter criteria is different. For the default SiblingDataRecords mode, you // need to specify the filter criteria on RecordFilters property of the child // RecordManager of a parent record. For the AllRecords mode, use the child // FieldLayout's RecordFilters property. Note that the root field layout // doesn't support SiblingDataRecords mode since it doesn't have multiple // record collections and therefore for the root field layout, always use the // field layout's RecordFilters property. // RecordManager childDataRecordsManager = _dp.RecordManager.Unsorted[0].ChildRecords[0].ChildRecordManager; FieldLayout childFieldLayout = _dp.FieldLayouts[1]; childFieldLayout.Settings.RecordFilterScope = RecordFilterScope.AllRecords; if ( RecordFilterScope.AllRecords == childFieldLayout.Settings.RecordFilterScope ) { // When using AllRecords mode, use the field layout's RecordFilters. childFieldLayout.RecordFilters.Add( filter ); } else { // When using SiblingDataRecords, use the child RecordManager's RecordFilters. childDataRecordsManager.RecordFilters.Add( filter ); } }
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