RadGridView更改单元格CheckBox选中/取消选中后的行颜色

时间:2014-05-09 13:02:59

标签: c# .net winforms telerik radgridview

我有一个简单的RadGridView,在我有Checkbox的第一个单元格中,如果Checkbox处于检查状态,我想更改行的颜色,如果这个Checkbox,则返回原始颜色{ {1}}处于未选中状态。

目前这是我试过的内容,当我的Checkbox被选中时,这会画我的行但是如果取消选中Checkbox,我该如何更改为原始颜色?

        private void radGridView1_RowFormatting(object sender, RowFormattingEventArgs e)
    {
        if ((bool)e.RowElement.RowInfo.Cells["Select"].Value == true)
        {
            e.RowElement.DrawFill = true;
            e.RowElement.GradientStyle = GradientStyles.Solid;
            e.RowElement.BackColor = Color.SkyBlue;
        }
        else
        {
            e.RowElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local);
            e.RowElement.ResetValue(LightVisualElement.GradientStyleProperty, ValueResetFlags.Local);
            e.RowElement.ResetValue(LightVisualElement.DrawFillProperty, ValueResetFlags.Local);
        }
    }

1 个答案:

答案 0 :(得分:0)

您拥有的代码是正确的,它应该使用选中的第一个单元格更改行的颜色。但是,有一点需要注意。复选框单元格的编辑器是永久编辑器,只有在更改网格中的当前行后,其值才会提交给单元格。如果这对您不起作用,则可以在更改复选框状态后立即提交值。您可以在此处了解如何操作:http://www.telerik.com/help/winforms/gridview-editors-howto-checkboxeditor-submit-value-change.html