@rozxa33

Как организовать перебор ячеек в диапазоне, точнее в одном столбце, на поиск определенной записи на Visual Basic?

Необходимо организовать перебор ячеек только в одном столбце, на поиск определенной записи:
Dim new_PriemRow As MEDHOUSEDataSet.PriemRow
'Флаг, чтобы отличить первое совпадение от последующих'
Dim firstMatch As Boolean = True
'Перебор всех строк'
For Each row As DataGridViewRow In DataGridView1.Rows
   'Перебор всех ячеек'
   For Each cell As DataGridViewCell In row.Cells
      'Если форматированное значение ячейки содержит текст'
      If cell.FormattedValue.ToString().Contains(ComboBox4.Text) Then
         If (firstMatch) Then
            'Если есть совпадение'
            cell.Style.ForeColor = Color.Red
            MsgBox("Запись не может быть добавлена, так как данное время уже занято!", MsgBoxStyle.OkOnly)
            Exit Sub
         End If
         firstMatch = False
      End If
   Next
Next

Что нужно добавить?
  • Вопрос задан
  • 2367 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ksardas
@Ksardas
Visual FoxPro, VB.NET...
Простой перебор ячеек в нужном столбце DataGridView такой:
'По индексу столбца'
For Each Row As DataGridViewRow In DataGridView1.Rows
    MsgBox(Row.Cells(1).Value)
Next

'По имени столбца'
For Each Row As DataGridViewRow In DataGridView1.Rows
    MsgBox(Row.Cells("Column2").Value)
Next

Если диапазон строк в определённом столбце, то:
'Диапазон ячеек'
Dim RowStart = 3,
    RowEnd = 5,
    ColumnIndex = 1 'Индекс столбца, начиная с 0. Либо имя столбца'

'Выведет значения ячеек 2го столбца строк с 3 по 5'
For i = RowStart - 1 To RowEnd - 1
    MsgBox(DataGridView1.Rows(i).Cells(ColumnIndex).Value)
Next

Поиск записи:
Dim str = "Бла-бла-бла"
For Each Row As DataGridViewRow In DataGridView1.Rows
    If Row.Cells(0).Value = str Then
        MsgBox(String.Format("Значение ""{0}"" уже имеется!", str))
    End If
Next
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы