DataGridView 冻结列后可能出现的异常

Posted on 2008-06-12 14:50  肥蛋  阅读(1499)  评论(0)    收藏  举报
一个 WinForm 上有一个 DataGridView,通过 BindingSource 绑定数据库。

原来用着没有问题的,今天只是加了一句:
dgvData.Columns["columnA"].Frozen = true;

结果在窗体关闭的时候出了异常:
System.InvalidOperationException: 无法添加该列,原因是它被冻结并被置于未冻结的列之后。”

查看异常堆栈后估计问题出在数据绑定上,尝试一下在窗体关闭事件(FormClosed)中解除数据绑定:
dgvData.DataSource = null;
测试成功,没有出现异常了!

再尝试一下在窗体关闭事件(FormClosed)中修改 AutoGenerateColumns 属性:
dgvData.AutoGenerateColumns = false;
也可以!

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3