Получить значение ячейки DataGridView достаточно просто. Но у начинающих зачастую возникают проблемы при работе с DataGridView, несмотря на то, что в Интернете много материалов на данную тему; к сожалению, многие из них не структурированы, и представлены, в основном, в виде обсуждений на форумах. Рассмотрим данный вопрос.
Создадим в Visual Studio проект Visual C# Windows Forms. Добавим на форму два элемента управления: DataGridView и Button. В DataGridView добавим три столбца.
Для получения значения ячейки из DataGridView C#, необходимо использовать следующий код:
1 |
dataGridView1[номерСТОЛБЦА, номерСТРОКИ].Value; |
Возвращаемый тип значения — object. Обратите внимание на порядок индексов в квадратных скобках — он противоположен индексам массива. Нумерация индексов начинается с нуля.
Чтобы преобразовать значение в строковый тип:
1 |
dataGridView1[j, i].Value.ToString(); |
Если ожидается целое число:
1 |
Convert.ToInt32(dataGridView1[j, i].Value); |
Для того, чтобы сохранить значение ячейки в массив int mass[,]:
1 |
mass[i, j] = Convert.ToInt32(dataGridView1[j, i].Value); |
Итак, добавим в проекте в код кнопки следующий текст:
1 2 3 4 5 6 7 8 9 |
try { String s = dataGridView1[1, 2].Value.ToString(); MessageBox.Show(s); } catch { MessageBox.Show("Данной ячейки не существует!"); } |
В результате нажатия на кнопку будет получено значение ячейки из ВТОРОГО столбца ТРЕТЬЕЙ строки DataGridView и выведено на экран с помощью MessageBox.
Конструкция try-catch используется для обработки исключения, возникающего в результате обращения к ячейке, которой не существует (если это произойдет).
Результат работы программы:
Поделиться в соц. сетях:
Спасибо за урок!
А как заполнить DataGridView из текстового файла и записать потом в него отредактированные данные?
Ещё было бы интересно связать DataGridView с bindingNavigator.
Здравствуйте, подскажите, как из того же ДатаГрида выдергивать содержимое нужного поля которое предварительно было выделено мышкой?
Здравствуйте! Значение выделенной ячейки можно получить так:
String s = dataGridView1.SelectedCells[0].Value.ToString();