一个 WinForm 上有一个 DataGridView,通过 BindingSource 绑定数据库。
原来用着没有问题的,今天只是加了一句:
dgvData.Columns["columnA"].Frozen = true;
结果在窗体关闭的时候出了异常:
“System.InvalidOperationException: 无法添加该列,原因是它被冻结并被置于未冻结的列之后。”
查看异常堆栈后估计问题出在数据绑定上,尝试一下在窗体关闭事件(FormClosed)中解除数据绑定:
dgvData.DataSource = null;
测试成功,没有出现异常了!
再尝试一下在窗体关闭事件(FormClosed)中修改 AutoGenerateColumns 属性:
dgvData.AutoGenerateColumns = false;
也可以!
原来用着没有问题的,今天只是加了一句:
dgvData.Columns["columnA"].Frozen = true;
结果在窗体关闭的时候出了异常:
“System.InvalidOperationException: 无法添加该列,原因是它被冻结并被置于未冻结的列之后。”
查看异常堆栈后估计问题出在数据绑定上,尝试一下在窗体关闭事件(FormClosed)中解除数据绑定:
dgvData.DataSource = null;
测试成功,没有出现异常了!
再尝试一下在窗体关闭事件(FormClosed)中修改 AutoGenerateColumns 属性:
dgvData.AutoGenerateColumns = false;
也可以!