У меня есть таблица данных. Я добавляю строку в эту таблицу данных. И я хочу получить значения выбранной строки datagridview в некотором текстовом поле, к которому привязана таблица данных. В моем выборе datagridview изменился метод, который я вызываю метод find для набора строк в datatable. Но это дает мне NullReferenceException.C# Winforms DataTable не может найти строку с указанным идентификатором
private void dgvRecipeMaterial_SelectionChanged(object sender, EventArgs e)
{
if(dgvRecipeMaterial.SelectedRows.Count > 0 && isDgvRecipeMaterialReady)
{
int rowIndex = dgvRecipeMaterial.SelectedRows[0].Index;
int id = Convert.ToInt32(dgvRecipeMaterial.SelectedRows[0].Cells[0].Value);
object[] data = dtrecetemalzemejoin.Rows[0].ItemArray;
object[] items = dtrecetemalzemejoin.Rows.Find(id).ItemArray;
.
.
.
.
Я посмотрел на свой идентификатор через отладчик. Его значение равно 1166. И когда я отлаживаю, я вижу, что есть элемент с идентификатором 1166 из массива данных. Но метод find не может найти id 1166. Нет проблем, если в таблице данных больше одной записи. В чем проблема. массив данных имеет идентификатор, но метод поиска не может найти его.
Какая строка кода даст вам 'NullReferenceException'? – Fabio
'object [] items = dtrecetemalzemejoin.Rows.Find (id) .ItemArray;' – MOD
Показать, как вы получаете данные в 'dtrecetemalzemejoin' – Fabio