我在应用程序中有一个 datagridview。datagridview 有一个数据表作为它的数据源。
填充数据网格视图后,我有一个设置列属性(宽度、可见、只读)的过程。
此过程适用于我的开发环境。但是,在我的生产环境中,我收到以下消息:
操作无效,因为它会导致对 SetCurrentCellAddressCore 函数的可重入调用。
我在 Visible = False 处将问题缩小到此代码:
For i As Integer = 0 To D.Columns.Count - 1
D.Columns(i).Width = 50
D.Columns(i).DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleLeft
D.Columns(i).Visible = False
Next
该错误仅发生在第 1 列。但是,如果我将第 1 列排除为不可见,则当我将第 1 列设置为只读时,应用程序将失败。
我知道重入调用错误是由于无限循环,因为正在使用 datagridview 单元格。但是,该代码在 dev 中有效。我在生产测试中使用了开发数据库的副本,因此问题不应该与数据相关。
当列不可见或只读时,什么会导致重入调用?