微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – 根据单元格值的数量更改DataGridView中的行颜色

我需要在datagridview中更改行的颜色,但我的代码对我不起作用.
我总是收到一个错误,上面写着“名为Quantity的列:无法找到.参数名称:columnName”

这是我的代码

Private Sub DataGridView1_CellFormatting(ByVal sender As Object,ByVal e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
    For i As Integer = 0 To Me.DataGridView1.Rows.Count - 1
        If Me.DataGridView1.Rows(i).Cells("Quantity:").Value < 5 Then
            Me.DataGridView1.Rows(i).Cells("Quantity:").Style.ForeColor = Color.Red
        End If
    Next
End Sub

请帮我解决一下.谢谢.

这可能会有所帮助

>使用“RowPostPaint”事件
>列的名称不是列的“标题”.您必须转到DataGridView =>的属性.然后选择column =>然后查找“名称属性

我从C#转换了这个(‘从:http://www.dotnetpools.com/Article/ArticleDetiail/?articleId=74)

Private Sub dgv_EmployeeTraining_RowPostPaint(sender As Object,e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) 
    Handles dgv_EmployeeTraining.RowPostPaint

    If e.RowIndex < Me.dgv_EmployeeTraining.RowCount - 1 Then
        Dim dgvRow As DataGridViewRow = Me.dgv_EmployeeTraining.Rows(e.RowIndex)

    '<== This is the header Name
        'If CInt(dgvRow.Cells("EmployeeStatus_Training_e26").Value) <> 2 Then  


    '<== But this is the name assigned to it in the properties of the control
        If CInt(dgvRow.Cells("DataGridViewTextBoxColumn15").Value.ToString) <> 2 Then   

            dgvRow.DefaultCellStyle.BackColor = Color.FromArgb(236,236,255)

        Else
            dgvRow.DefaultCellStyle.BackColor = Color.LightPink

        End If

    End If

End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐