я изменил цвет фона строки в datagridview, если срок действия лекарства уже истек?
con.Open()
Dim query As String
query = "Select product_code,drug_name,quantity,expiration_date from medicine where expiration_date"
command = New MySqlCommand(query, con)
readers = command.ExecuteReader
Dim count As Integer
count = 0
While readers.Read
count = count + 1
End While
con.Close()
If count = 0 Then
MsgBox("no expiration")
Else
Dim SQL As String = ""
Dim da As MySqlDataAdapter = Nothing
Dim dt As New DataTable
SQL = "Select product_code,drug_name,quantity,expiration_date from medicine where expiration_date"
command = New MySqlCommand(SQL, con)
End If
Также см. DataGridViewRow.DefaultCellStyle и его свойство BackColor
.
Возможный дубликат Условное форматирование DataGridView
Я не понимаю, что вы пытаетесь сделать или как вы собираетесь нагружать сетку. любой способ изменить цвет столбца, все, что вам нужно сделать, это:
dgv1.Columns("columnsName").DefaultCellStyle.BackColor = Color.Red
у меня есть лекарство, срок действия которого истек в базе данных, а затем изменить цвет строк, чтобы определить лекарство, если оно истекло.
Извините, я говорю это по памяти, попробуйте это. dgv1.Rows(e.RowIndex).Cells("expiration_date").Style.BackColили = Color.Red
Хорошо, прежде всего вам нужно загрузить сетку с данными базы данных следующим образом:
con.Open()
Dim query As String
Dim da As new MySqlDataAdapter
Dim dt As New DataTable
query = "Select product_code,drug_name,quantity,expiration_date from medicine where expiration_date is not null"
command = New MySqlCommand(query, con)
da.SelectCommand = cm
da.Fill(dt)
dgv1.datasource = dt
Затем вам нужно установить цвет в событии форматирования ячейки:
Private Sub dgv1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles dgv1.CellFormatting
If dgv1.Rows(e.RowIndex).Cells("expiration_date").Value < now Then
dgv1.Rows(e.RowIndex).cells("expiration_date").Style.BackColor = Color.Red
End If
См. событие DataGridView.CellFormatting. Или DataGridView.RowValidating. Или DataGridView.RowPrePaint. Выбранный вами метод зависит от различных факторов; например, когда следует применить этот стиль.