设置datagridview单元格背景颜色[重复]

Posted

技术标签:

【中文标题】设置datagridview单元格背景颜色[重复]【英文标题】:Setting datagridview cell background color [duplicate] 【发布时间】:2018-06-15 00:12:48 【问题描述】:

我正在尝试检查活动列的条件是否等于 false,它会将单元格颜色行设置为红色,但即使活动列为 false,它也不会更改行颜色

这是显示的输出:

dgv_loadout.DataSource = ouput.ToList();

var activate = db.Users.ToList();
foreach (DataGridViewRow color in dgv_loadout.Rows)

    if (activate[color.Index].Active == false)
    
        dgv_loadout.DefaultCellStyle.BackColor = Color.Red;
    

【问题讨论】:

我想你想设置DataGridViewRow的样式,而不是DefaultCellStyle。看这个答案***.com/questions/17728009/… 【参考方案1】:

你可以试试这样的:

    private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
    
        DataGridView dg = sender as DataGridView;

        foreach (DataGridViewRow item in dg.Rows)
        
            //your condition
            int id = Convert.ToInt32(item.Cells[0].Value);
            if (id == 1)
            
                dg.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.Red;
            
        
    

我使用 RowsAdded 事件只是为了测试。

【讨论】:

【参考方案2】:

您需要为特定单元格设置BackColor

for(int col = 0; col < dgv_loadout.Columns.Count; col++)

     [your_row].Cells[col].Style.BackColor = Color.Red;

如果这不起作用,请检查您的条件是否被命中。

【讨论】:

以上是关于设置datagridview单元格背景颜色[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 datagridview 单元格的 Style.BackColor

设置单元格的背景颜色不起作用 - IOS [重复]

动态更改 datagridview 单元格颜色

DataGridView透明行选择和双击背景颜色更改

c#winFORM 的dataGridView 控件 单元格 颜色报警

用填充图案填充 DataGridView 单元格