我有几个datagridview的,从mysql数据库列出不同的位和bobs。格式化datagridview中的行
其中之一有一个名为'结果'的专栏。
这可以是'是','待定'或'否'。
我需要根据该值格式化此列表。
我使用的那一刻以下...
Private Sub nb_myleads_dgv_CellFormattin(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs) Handles nb_myleads_dgv.CellFormatting
If e.ColumnIndex = nb_myleads_dgv.Columns("outcome").Index Then
If e.Value.ToString = "Yes" Then
nb_myleads_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.DarkGreen
ElseIf e.Value.ToString = "Pending" Then
nb_myleads_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.DarkOrange
ElseIf e.Value.ToString = "No" Then
nb_myleads_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.DarkRed
End If
End sub
End If
这似乎是我必须有我的专栏“结果”在DGV可见这个工作。 我已经通过将此列宽设置为3个像素来解决这个问题,但这看起来有点肮脏。基于隐藏列的值,不可能在datagridview中格式化单元格吗?
在此先感谢
问题后,做到这一点:你即使声明闯过如果列?隐藏是否为e.RowIndex获得适当的值? – Claudius
'CellFormattin [g]'是一个昂贵的地方,因为它经常被调用。尝试'RowsAdded'事件 – Plutonix