#.net #vb.net #visual-studio #datagridview
#.net #vb.net #visual-студия #просмотр сетки данных
Вопрос:
Я пытаюсь обновить определенную строку и определенный столбец в a datagridview
.
For x = 0 To Array.Length - 1
Me.DataGridView4.Rows.Add(L_limit x)
Next
Приведенный выше код обновляет значения во всех строках столбца 1, но приведенный ниже код не работает.
For x = 0 To Array.Length - 1
DataGridView4.Rows(x).Cells(0).Value = L_limit x
Next
Когда я запускаю это, я получаю сообщение об ошибке: Index was out of range
.
Как мне обновить столбцы 2, 3 и т.д.? Я много пробовал, но ничего не получается.
Комментарии:
1. Когда я запускаю второй код, я получаю приведенную ниже ошибку «Индекс был вне диапазона».
2. Вы проверили, существуют ли столбец и строка, которые вы хотели бы установить, в datagridview?
3. Да, у меня есть этот DataGridView4.columnCount = 15
4. DataGridView4.columnCount = 15′ столбцов для создания для x как целого числа = 0 в массив. Длина — 1 DataGridView4(x, 0).Значение = L_limit x Next End Sub Когда я запускаю этот код, я получаю приведенную ниже ошибку «Индекс вышел за пределы диапазона»
5. Извините, я удалил свой предыдущий комментарий, потому что забыл, что вы используете VB.net . Это массив. Длина = 15?
Ответ №1:
Значение «приведенный ниже код не работает» неясно, но вы можете обновить данный столбец в данной строке datagridview следующими альтернативными способами:
// Измените значение в первой ячейке второй строки.
Me.DataGridView4.Rows[1].Ячейки [0].Значение = «новое значение»;
// Предыдущая строка эквивалентна следующей строке.
Me.DataGridView4.dataGridView4[0, 1].Значение = «новое значение»;
Это описано здесь: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.datagridview.rows?view=net-5.0
Ответ №2:
Посмотрите на следующий пример, чтобы обновить первый столбец в DataGridView:
Dim Array As Integer() = {1, 2, 3}
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DataGridView4.Rows.Add(Array.Length)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim L_limit As String = "L"
For x = 0 To Array.Length - 1
Me.DataGridView4(0, x).Value = L_limit x.ToString 'Update column 1
Next
End Sub
Результат моего теста: