VB.net根据数组中的值更改特定的datagridview行颜色

时间:2019-01-27 02:15:43

标签: vb.net datagridview

在我的表单上,我有一个datagridview。我还有一个文本文件,具有以下值:

PersonName:PersonAge:ChampionTrueOrFalse

当调用sub时,文本文件中的所有值都将加载到数组中,并且第一个值(人名)将显示在datagridview中。 我要达到的目的是:如果人的第四个值(ChampionTrueOrFalse)的值为true,则将该特定行的背景涂成黄色。

我得到的最接近的是以下内容,但是当只对列中具有“ False”的单元进行着色时,它将所有单元格变为绿色。

   Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
        For Each row1 As DataGridViewRow In DataGridView1.Rows

            If row1.Cells("ChampionTrueOrFalse").Value = "Yes" Then
                e.CellStyle.BackColor = Color.LightGreen
            End If

        Next
    End Sub

2 个答案:

答案 0 :(得分:0)

没有理由不起作用。

If something Then DataGridView1.Rows(RowIndex).DefaultCellStyle.BackColor = Color.Yellow

答案 1 :(得分:-1)

最后把它整理好了!

正确的代码是:

For Each row1 As DataGridViewRow In DataGridView1.Rows

If row1.Cells("ChampionTrueOrFalse").Value = "True" Then
                row1.DefaultCellStyle.BackColor = Color.Gold
End If

Next