Прежде всего, вы не предоставили нам никакого кода.
Теперь я просто объясню вам, как это сделать (без фактического кода, поскольку у меня нет вашего кода).
Это тихо, легко и не требует особых настроек.Единственное, что вам нужно сделать, это решить, КОГДА вы хотите изменить данные в child
datagridview.Когда вы решите, когда делать это (например, по нажатию на ячейку), просто создайте событие в первом представлении данных и используйте RowFiltering
во втором.Это будет выглядеть так:
private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow row = dataGridView1.SelectedRows[0]; //Selecting only first selected row.
//Above code of getting row will not work if you have not set datagridview mode to full selection.
//If you do not want to you could get row like this
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
int CategoryIdOfSelectedOne = Convert.ToInt32(row["CategoryID"].Value);
(secondDGV.DataSource as DataTable).DefaultView.RowFilter = string.Format("CategoryID= '{0}'", CategoryIdOfSelectedOne);
}