У меня есть привязка MyDataSourceTable
к dataGridView1
. Код C # выглядит так:
List<MyDataSourceItem> MyDataSourceTable;
bs = new BindingSource();
bs.DataSource = MyDataSourceTable;
dataGridView1.DataSource = bs;
Когда пользователь моей программы выбирает строку на dataGridView1
, мы знаем, какая строка, так как у нас есть индекс строки. Используя ответ в приведенной выше публикации, на соответствующую запись в источнике данных ссылается всего одна строка кода:
private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
if (this.dataGridView1.SelectedRows.Count <= 0) return; // this line prevents exception
MyDataSourceItem mdsi = (MyDataSourceItem)this.dataGridView1.CurrentRow.DataBoundItem; // Alvin S
// mdsi now reference the corresponding object on the list
.
.
}
Чтобы защитить исключение, создаваемое для объекта null
, добавлено предложение if
. Ответ Элвина С. очень прямой и объективный. Это ценно.