I finally figured out how to filter a grid associated with a datatable. Instead of filtering the grid, which was a traumatic experience, I filtered the datatable associated with the grid instead. It took less than 7 lines of code and most of those lines of code were for creating the filter expression:
I am collecting a bunch of values in another window so I can filter the varnames column in my grid so:
string filterexpression = "varnames in (" + < bunch of values> + ")"
gridname.ItemsSource = <datatable name>.Select(filterexpression, <supply sort expression>, DataViewRowState.CurrentRows);