更改动态创建的行的颜色

Change the color of a row created dynamicly

我用 for 循环创建了几行,但如何更改整行的颜色?

这是我的循环:

For i As Integer = 0 To nameGruppeUmsatzFarbe.Count - 1
        Dim name As String = CType(nameGoupMoneyColor(i)(0), String)
        Dim group As String = CType(nameGoupMoneyColor(i)(1), String)
        Dim money As String = CType(nameGoupMoneyColor(i)(2), String)
        If group= "A" Then
            DataGridViewUmsatzEntwicklung.Rows.Add(name, money)
        End If
        If group= "B" Then
            DataGridViewUmsatzSupport.Rows.Add(name, money)
        End If
        If group= "C" Then
            DataGridViewUmsatzVertrieb.Rows.Add(name, money)
        End If
        If group= "D" Then
            DataGridViewUmsatzAzubis.Rows.Add(name, money)
        End If
        If group= "E" Then
            DataGridViewUmsatzLeitung.Rows.Add(name, money)
        End If
    Next

您必须使用 DataGridViewRow

如果您希望所有颜色都相同,则为 DataGridViews:

  Dim mRow As New DataGridViewRow

    For i As Integer = 0 To nameGruppeUmsatzFarbe.Count - 1
        Dim name As String = CType(nameGoupMoneyColor(i)(0), String)
        Dim group As String = CType(nameGoupMoneyColor(i)(1), String)
        Dim money As String = CType(nameGoupMoneyColor(i)(2), String)

        If group = "A" Then
            mRow = DataGridViewUmsatzEntwicklung.Rows(DataGridViewUmsatzEntwicklung.Rows.Add())
        End If
        If group = "B" Then
            mRow = DataGridViewUmsatzSupport.Rows(DataGridViewUmsatzSupport.Rows.Add())
        End If
        If group = "C" Then
            mRow = DataGridViewUmsatzVertrieb.Rows(DataGridViewUmsatzVertrieb.Rows.Add())
        End If
        If group = "D" Then
            mRow = DataGridViewUmsatzAzubis.Rows(DataGridViewUmsatzAzubis.Rows.Add())
        End If
        If group = "E" Then
            mRow = DataGridViewUmsatzLeitung.Rows(DataGridViewUmsatzLeitung.Rows.Add())
        End If

        mRow.Cells(0).Value = name
        mRow.Cells(1).Value = money
        mRow.DefaultCellStyle.BackColor = Color.Red

    Next

对于不同的颜色:

        Dim mRow As New DataGridViewRow

        For i As Integer = 0 To nameGruppeUmsatzFarbe.Count - 1
            Dim name As String = CType(nameGoupMoneyColor(i)(0), String)
            Dim group As String = CType(nameGoupMoneyColor(i)(1), String)
            Dim money As String = CType(nameGoupMoneyColor(i)(2), String)

            If group = "A" Then
                mRow = DataGridViewUmsatzEntwicklung.Rows(DataGridViewUmsatzEntwicklung.Rows.Add())
            End If
            If group = "B" Then
                mRow = DataGridViewUmsatzSupport.Rows(DataGridViewUmsatzSupport.Rows.Add())
                mRow.DefaultCellStyle.BackColor = Color.Red
            End If
            If group = "C" Then
                mRow = DataGridViewUmsatzVertrieb.Rows(DataGridViewUmsatzVertrieb.Rows.Add())
                mRow.DefaultCellStyle.BackColor = Color.Purple
            End If
            If group = "D" Then
                mRow = DataGridViewUmsatzAzubis.Rows(DataGridViewUmsatzAzubis.Rows.Add())
                mRow.DefaultCellStyle.BackColor = Color.PowderBlue
            End If
            If group = "E" Then
                mRow = DataGridViewUmsatzLeitung.Rows(DataGridViewUmsatzLeitung.Rows.Add())
                mRow.DefaultCellStyle.BackColor = Color.SandyBrown
            End If

            mRow.Cells(0).Value = name
            mRow.Cells(1).Value = money


        Next