vb.net ошибка цикла флажка datagridview - PullRequest
0 голосов
/ 10 мая 2018

Я в настоящее время перебираю столбец флажка datagridview1 (column1), и если флажок установлен, значение ячейки из column3 должно измениться.

Мой код ниже работает нормально, когда datagridview1.DefaultView.RowFilter = Nothing Однако это не работает, когда DefaultView.RowFilter включен.

For Each row As DataGridViewRow In DataGridView1.Rows
Dim isSelected As Boolean = Convert.ToBoolean(row.Cells(0).Value)
If isSelected Then
row.Cells(3).Value = ComboBox2.Text  
End If
Next 

Предположим, я установил 5 флажков, но изменится только 1 запись, а остальные 4 останутся такими же, как и сейчас. Это происходит только тогда, когда включен фильтр строк datagridview1.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

после исследования в Google я могу это исправить.

Try

        For i = DataGridView1.Rows.Count - 1 To 0 Step -1

            If (DataGridView1.Rows(i).Cells(0).Value = True) Then

                DataGridView1.Rows(i).Cells("Shift").Value = ComboBox2.Text

            End If


        Next

    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

Спасибо, ребята!

0 голосов
/ 10 мая 2018

Просто ради удовольствия попробуй ...

For i As Integer = 0 To DataGridView1.Rows.Count - 2
  'Your code here
Next

Обратите внимание на -2 Очевидно, что сетка считает последнюю строку со звездой и ничего в ней как строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...