我在表单上有一个DataGridView,当前一步骤中的某些内容加载到DataTable对象的某些数据中时(这是一个向导类型的应用程序,这是在TabControl中)。从上一步开始,有一个文件放入DataGridView,并添加了一些额外的列。澄清一下:填充表格完全按照它应该运行 - 数据本身没有问题。
我的问题是,从上一步移动时,DataGridView无法正确呈现。它仍然显示数据应该在的上一步,并且仅在我选择单元格时显示数据(单个单元格 - 它呈现该单元格的位置(当我将鼠标悬停在readonly = false单元格上或单击readonly = true单元格时)或选择整个表格。屏幕截图如下:
首次渲染屏幕时:
当我选择所有单元格时:
在我填充DataGridView之后,我尝试以编程方式选择所有单元格(使用datagridview1.SelectAll()
),但这没有任何区别。我还尝试使用datagridview1.Select()
方法并设置datagridview1.CurrentCell = datagridview1.Rows[0].Cells[0]
。
我不确定这可以用代码解决 - 有没有办法确保单元格正确渲染或者这是我的本地机器的问题?
答案 0 :(得分:1)
如果您在容器隐藏在未选中 TabPage
中时加载了数据,则显示更新将被阻止。
要使其生效,您可以对Selected
事件进行编码:
private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
foreach (Control ctl in tabControl1.SelectedTab.Controls) ctl.Refresh();
}