Отношения между двумя датагридью по программам

В основном я хочу видеть данные внешнего ключа в другом сетевом представлении. Родительские данные отображаются в первом представлении данных и отображают дочерние данные во втором представлении данных. если щелкнуть 1-ую строку сетки, затем 2-я сетка показать дочернюю таблицу данных. У меня есть два стола, студент и предмет. студент ==stu_id, имя, ролл. subject==sub_id, name, subject_code, stu_id. введите описание изображения здесьpic

1 ответ

Прежде всего, вы не предоставили нам какой-либо код.

Теперь я просто объясню вам, как это сделать (без реального кода, поскольку у меня нет вашего кода).

Это тихо, легко и не требует особой настройки. Единственное, что вам нужно сделать, это решить, когда вы хотите изменить данные в 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);
}
Другие вопросы по тегам