Are you spoiled by the AutoFilter feature in Excel? Do you want the same functionality in the DataGridView control? Then my new whitepaper and sample are for you. See:
The DataGridViewAutoFilter library provides a custom DataGridViewColumnHeaderCell with a drop-down filter list that displays each unique value in a column, and updates the filter of the bound data source when a value is selected from the list. A custom DataGridViewColumn is also provided to make using the AutoFilter header cell easier, particularly in the Windows Forms Designer.
Customizing DataGridView column header cells is not as easy as customizing regular cells. For one thing, column header cells were never meant to be edited, so they cannot take advantage of the editing-control infrastructure provided for regular cells. This paper describes some of the issues that you must address when creating a control-hosting DataGridView cell from scratch.