Если вы используете DataSets / DataTables, то вы можете сделать что-то вроде этого, чтобы отфильтровать строки для второй сетки:
string filter = String.Format("UserID = {0}", selectedUserId);
grdRecords.DataSource = ds.Tables["Records"].Select(filter);
Я полагаю, что вы можете редактировать записи в возвращаемом массиве, но вы не сможете добавлять / удалять новые элементы в этой коллекции. Вам нужно будет добавить их в обычную таблицу, а затем перефильтровать сетку.
Конечно, есть и другие способы сделать это. Если вы используете объекты, которые являются производными от IBindingListView, такие как экземпляры класса DataView, у вас должен быть доступ к свойству Filter. Тогда вы можете просто сделать это:
string filter = String.Format("UserID = {0}", selectedUserId);
DataView myView;
grdRecords.DataSource = myView;
myView.Filter = filter;
И ваше представление останется фильтрованным, чтобы соответствовать любым данным, которые вы помещаете в него.
Надеюсь, этот пост достаточно ясен для того, чтобы вы могли разобраться в деталях ... Сегодня я немного расстроен. :)