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