0

我有一个 TabControl,它在单独的选项卡上包含 2 个 DataGridView。这两个都是根据第三个 DGV 上选定行的值填充的,该 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,是否有理由无法更改其单元格颜色?

非常感谢

4

1 回答 1

0

[抱歉在这里回答我自己的问题 - 功劳属于 Shane CI,只是不喜欢留下未回答的问题!]

修复方法是将单元格着色代码添加到 DataGridView 的 VisibleChanged 事件中,如果允许排序,还添加到 Sorted 事件中

于 2012-11-28T15:29:20.900 回答