在 C# 数据网格视图中将列背景色更改为默认值

本文关键字:背景色 默认值 数据 数据网 网格 视图 | 更新日期: 2023-09-27 18:34:09

我有一个包含一些colmns和一些数据的Datagridview。现在,当我单击一个按钮时,它会变为编辑模式,用户可以在其中更改某些列中的数据。

Datagrid视图本身具有交替的行背景色,但在编辑模式下,可编辑列完全是白色的。为此,我使用以下方法:

column1.CellTemplate.Style.BackColor = Color.White;

现在,当用户完成编辑时,行必须变得像开始时一样。有人可以向我展示一些代码,如何使用交替的行背景颜色将列完全更改回默认值。
一些信息:我在设计器中而不是在代码中设置颜色,所以我什至不知道如何设置交替的背景色,我仅在 2 个月前开始使用 C#。

也许解决方案非常简单,但我不知道...

在 C# 数据网格视图中将列背景色更改为默认值

解决了:我只是将样式设置为未更改的列的样式:

Column1.CellTemplate.Style = Column2.CellTemplate.Style;

第 2 列没有更改,所以就我而言,这有效。

所以基本上,你首先在设计器中设置交替行。单击按钮后,可以进行编辑,并且更改了单元格样式?好吧,在我看来,通过这段代码,您破坏了替代着色。

Datagrid 提供CellEndEdit事件,因此我建议您注册到此事件,并在触发事件后,只需在代码中设置备用行样式即可。您可以在此处找到有关此主题的更多信息。

其他选项可能是注册到 EditModeChanged 事件,然后检查属性EditMode是否具有您指定的值。还有更多的选择。但我会选择第一个。这能解决您的问题吗?