【问题标题】:Change the datagridview color specified with column更改用 column 指定的 datagridview 颜色
【发布时间】:2013-01-08 15:08:06
【问题描述】:

我正在处理winform C# datagirdview,我想更改我的datagridview 中特定行的颜色。当columncell 的值为false 时,该行应更改为红色。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    使用CellFormatting Event

       private void dataGridView2_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (e.ColumnIndex == 1)
            {
                if (e.Value != null)
                {
                    if ((bool)e.Value)
                        dataGridView2.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
                    else
                        dataGridView2.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
                }
            }
        }
    

    编辑:

    e.value 是基于 e.ColumnIndex 以获得更多 Details

    【讨论】:

    • spajce 这行得通,但你能解释一下它是如何工作的 if ((bool)e.Value) // 这是什么? dataGridView2.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue; // 以及它是如何工作的
    • 那是另一个问题,您使用的是DataTable?如果是这样,尝试修改DataRow
    【解决方案2】:

    我不知道是否可以通过 WPF 中的某种 DataBinding 来实现这一点,但另一种方法是挂钩到创建行时触发的事件并在那里更改颜色。

    试试RowAdded 事件。

    【讨论】:

    • 那里写什么?我不知道如何用列单元格更改颜色是错误的。那么如何改变整行颜色呢?你能帮我详细介绍一下吗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 2015-09-07
    • 2017-03-09
    • 1970-01-01
    相关资源
    最近更新 更多