DataGridView columns already support sorting.
I would populate the DataTable with your data and bind the DataGridView to myDataTable.DefaultView.
You can filter the rows displayed by setting myDataTable.DefaultView.RowFilter.
/ DataGridView myDataTable.DefaultView.RowFilter /.