我有一个TabControl,它在不同的选项卡上包含2个DataGridViews。这两个都是根据第三个DGV上选定行的值填充的,这个行位于TabControl之外。
我正在尝试将其中一个DGV的左侧列颜色为蓝色,如果包含该DGV的页面当前可见,则该工作正常。如果它当前不可见,则颜色不会更改。我用来改变单元格颜色的代码是
foreach (DataGridViewRow row in this.dgvInformation.Rows)
{
DataGridViewCellStyle blueStyle = new DataGridViewCellStyle();
blueStyle.Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular);
blueStyle.BackColor = Color.LightBlue;
row.Cells["InfoType"].Style = blueStyle;
}
我已逐步完成代码,无论DGV是否可见,它都采用相同的路径,但单元格颜色只有在可见时才会更改。
如果当前没有显示DGV的单元格颜色,是否有原因?
非常感谢
答案 0 :(得分:0)
[在这里回答我自己的问题道歉 - 信用属于Shane C我只是不想留下未解答的问题!]
修复方法是将单元格着色代码添加到DataGridView的VisibleChanged事件中,如果允许排序则还添加到Sorted事件