I have a DataGridView and a LINQ to SQL class called linqFillItemSearch. On the SQL Server 2005 there is an sp called fillItemSearchDGV which simply creates a View containing the columns that are needed to populate the dgv. The dgv is bound @ design time to the QryItemsFillSearchBindingSource. My question is: Is this type of Binding Source, using a LINQ to SQL class, bound to an IBindingListView implementation or do I need to Implement it myself?

If the implementation is by default, how do I go about setting the IBindingListView.SupportsFiltering property to True?

Also, when I set the Column Type of the dgv to DataGridViewAutoFilterTextBoxColumn the app returns a "The DataSource property of the containing DataGridView control must be set to a BindingSource." error. Obviously, at least to me, it is bound both early and late, so how does it "forget" that it IS bound? It only throws this error when I try to use the AutoFilter on the columns of the dgv. It works fine when I have the column type set to DataGridViewTextBoxColumn.

So... From that I would surmise that since to support filtering, the BindingSource must be bound to an IBindingListView with a SupportsFiltering property, that this type of object doesn't possess this property. HOWEVER, there is an error trap that traps this specific error and returns the message "DataSource is not an IBindingListView or does not support filtering", which is not being thrown. "Curiouser and curiouser".

Below is the code:

Code:
          Public Sub fillItemSearch()
            Dim ProdDBfill As New linqFillItemSearchDataContext
                 frmSearchItems.dgvSearchItems.DataSource = ProdDBfill.fillItemSearchDGV.ToList
          End Sub