rashidfarooq Ответов: 3

Как выделить определенную строку DataGridView


уважаемый друг.

Я работаю над проектом в VB.Net и я сделали datagridview, чтобы показать выходные данные.
У меня есть три столбца в DataGridView. которые находятся как под;
1. Серийный номер serialno
2. Сумма
3. Дата

Теперь я хочу выделить те строки DataGridView, в которых Поле Amount имеет значение более 10 000.
Итак, есть ли какой-то механизм в VB.Net-что?

Жду ответа.

3 Ответов

Рейтинг:
26

jayantbramhankar

For Each row As DataGridViewRow In DataGridView1.Rows
            Dim val As Integer =                      Integer.Parse(row.Cells(0).Value.ToString()) 
            If val > 10000 Then
                row.DefaultCellStyle.BackColor = Color.Red
            End If
        Next

//row.Cells(1) is your Amount Column


rashidfarooq

Брат благодарит меня за такой полезный ответ.
Но есть одна проблема.
Я применил этот код, и он работает нормально, но когда он проверяет последнюю строку DatagridView (которая пуста), он выдает мне следующую ошибку.

ссылка на объект не установлена на экземпляр объекта

Затем я отлаживаю этот код строка за строкой и когда последняя итерация (которая теперь находится на пустой строке Datagridview) достигает этой строки

Dim val As Integer = целое число.Parse(row.Cells(0).Value.Метод toString())

Появляется вышеупомянутая ошибка.

Поэтому, пожалуйста, направьте меня, как я могу решить эту проблему.

Я буду вам очень благодарен.

MatthysDT

Просто, просто не запускайте свой код на последней строке. Поэтому, если индекс строки = DatagridView1.NewRowIndex, не форматируйте его.

Рейтинг:
20

Scubapro

Почему бы не использовать:

For f As Integer = 0 To DataGridView1.Rows.Count - 1
Dim num As Integer = Val(DataGridView1.Rows(f).Cells(1).Value)
If num > 10000 Then
DataGridView1.Rows(f).DefaultCellStyle.BackColor = Color.Red
End If
Next

Или:
For Each row As DataGridViewRow In DataGridView1.Rows
Dim num As Integer = Val(row.Cells(1).Value)
If num > 10000 Then
row.DefaultCellStyle.BackColor = Color.Red
End If
Next


rashidfarooq

Большое спасибо, брат.
Я работаю правильно.
Еще раз большое спасибо.

Member 11795859

брат,как выделить строку datagridview, когда происходит сегодняшняя дата? я хочу осветить свои данные в представлении datagrid, когда произойдет сегодняшняя дата

cristi.corneanu

сравните кол-во &ГТ;= дата.Сейчас

Рейтинг:
0

elrabiea

Целое число.Parse(row.Cells(0).Value.Метод toString())
Если val > 10000, то
ряд.DefaultCellStyle.Цвет Фона = Цвет.Красный
Конец, Если
Следующий


CHill60

Если вы собираетесь скопировать чей-то ответ (кстати, это плохая идея), по крайней мере, имейте смысл скопировать все код!