This is a known limitation. Currently, you can only use either a dataset/datatable or a datatable by itself as the grid's datasource/datamember if you want to use filterbars.
You can derive the GridFilterBar class to extend it to support using a DataView as the datasource for the grid. We will add support for using a DataView as the datasource in a future release.
Here is some code:
Public Class SyncGridFilterBar
Inherits GridFilterBar
Private _grid As GridDataBoundGrid
Protected Overrides Function GetDataTable() As DataTable
If _grid.DataSource Is Nothing Then
Return Nothing
End If
If _grid.DataSource.GetType Is GetType(DataTable) Then
Return CType(_grid.DataSource, DataTable)
ElseIf _grid.DataSource.GetType Is GetType(DataView) Then
Return CType(_grid.DataSource, DataView).Table
End If
End Function
Public Overloads Overrides Sub WireGrid(ByVal grid As GridDataBoundGrid, ByVal style As GridStyleInfo)
_grid = grid
MyBase.WireGrid(grid, style)
End Sub
End Class