c# - 根据条件更改 datagridview 单元格颜色

标签 c# winforms datagridview

我已将数据从数据库加载到 datagridview,并且有两列目标值和体积,其中体积 > 目标值,体积单元格应为绿色,体积 < 目标值,则体积应为红色。我试过了,但我做不到。

private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    if (dataGridView1.Rows.Count > 0 && dataGridView1.Columns.Count > 0)
    {
        foreach (DataGridViewRow r in dataGridView1.Rows)
        {
            if (Volume > target value)
            {
                cell.Style.BackColor = Color.AliceBlue;
            } 

最佳答案

我可能会建议不要在每次调用 CellFormating 时遍历每一行,因为每次需要刷新单个行时都会调用它。

Private Sub dgv_DisplayData_Vertical_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles dgv_DisplayData_Vertical.CellFormatting
        Try

            If dgv_DisplayData_Vertical.Rows(e.RowIndex).Cells("LevelID").Value.ToString() = "6" Then

                e.CellStyle.BackColor = Color.DimGray
            End If
            If dgv_DisplayData_Vertical.Rows(e.RowIndex).Cells("LevelID").Value.ToString() = "5" Then
                e.CellStyle.BackColor = Color.DarkSlateGray
            End If
            If dgv_DisplayData_Vertical.Rows(e.RowIndex).Cells("LevelID").Value.ToString() = "4" Then
                e.CellStyle.BackColor = Color.SlateGray
            End If
            If dgv_DisplayData_Vertical.Rows(e.RowIndex).Cells("LevelID").Value.ToString() = "3" Then
                e.CellStyle.BackColor = Color.LightGray
            End If
            If dgv_DisplayData_Vertical.Rows(e.RowIndex).Cells("LevelID").Value.ToString() = "0" Then
                e.CellStyle.BackColor = Color.White
            End If

        Catch ex As Exception

        End Try

    End Sub

关于c# - 根据条件更改 datagridview 单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19380279/

相关文章:

c# - 正则表达式匹配不包括下划线的字符串

c# - 创建邮件发件人对象

.net - 修改RichTextBox中的默认选项卡大小

c# - 过滤数据绑定(bind)数据 GridView (带有组合框列)的数据 View 使其速度非常慢

c# - 使用搜索文本框 : 'Object reference not set to an instance of an object.' 中的值过滤数据 GridView 列表

c# - DataGridView 如何使 WrapMode = true (多行单元格)并正确自动调整宽度?

c# - 如何通过 SSO (SAML) 使用 WebEx 的 XML-API

c# - 使用 ","拆分字符串并存储在数组列表中

c# - C#-如何停止使用其他格式的音频文件(不是正在播放的格式)

c# - Windows.Forms.MouseButtons 中的奇数枚举值