Вы перебираете object[]
и обрабатываете элементы в этом массиве как string[]
, а элемент 0 этого массива определенно равен string
, а не string[]
.
Я думаю что вы намерены сделать, основываясь на том, что вы написали, это вставить одну строку в DataGridView, потому что это все, что удерживает dRows - это одна строка таблицы.Ваш код частично взят из примера MSDN здесь , и если вы посмотрите, как работает этот пример, вы увидите, что они собирают группу string[]
для добавления unbound строки в DataGridView.
Это то, что вы хотите сделать здесь?Добавить несвязанную строку?У вас уже есть DataTable
.Вы можете просто использовать привязку данных для решения этой проблемы, а не извлекать данные из БД, а затем скопировать их в object[]
, просто чтобы развернуть и поместить в несвязанный DataGridView.
Вы можете просто сделать это:
string[] myRow = new string[] { dRows[0].ToString(), dRows[1].ToString(), dRows[2].ToString(), dRows[3].ToString() };
dataGridView1.Rows.Add(myRow);
и я думаю, что это сработает.Не проверял, но я думаю, что это сделает.Но я бы, вероятно, установил привязку данных, если бы делал это.