首次切换到选项卡后,选项卡控件中的c#datagridview未绘制更改

时间:2013-05-27 13:21:58

标签: c# datagridview tabs tabcontrol selected

设置: 我有一个制表符控件和一个datagridview(在tabpageindex == 2下)。

datagridview绑定到数据表。

在选项卡控件的tab_Selected事件中,如果tabpageindex == 2,我会更改datagridview中某些单元格中的某些颜色。

问题: 我第一次在应用程序中选择带有datagridview的选项卡时,单元格不会改变颜色(即显示绑定数据,但我的颜色更改不起作用)。

如果我然后单击另一个选项卡并返回此选项卡,则会显示颜色。

问题: 知道为什么会这样吗? 我应该采用不同的方式,即不在tab_selected事件中吗? (我基本上需要的是某些单元格具有某些格式/颜色,具体取决于单元格中的数据。我也可以在datagridview进行排序后调用此单元格绘制功能,并且它可以正常工作。只是第一个tab_selected事件没有着色。 ..)

感谢您的帮助, 姆兰

2 个答案:

答案 0 :(得分:0)

尝试执行以下操作:

更新单元格后,请致电InvalidateCell()上的DataGridView

如果不起作用,请拨打Invalidate()上的DataGridView

如果不起作用,请拨打Invalidate()上的TabControl

答案 1 :(得分:0)

TabControl似乎存在一个错误,当它有多个标签时,使用代码创建的cellstyles仅适用于选项卡的DataGridView ,因此您可以将DataGridView移动到第一个标签,也可以使用TabControl的SelectedIndexChanged事件并将样式代码放入此事件中。