【发布时间】:2010-10-06 18:31:47
【问题描述】:
我的表单上有一个 datagridview,该表单绑定到另一个类的数据集中的表。
我使用数据适配器来填充该数据集中的表格,并且网格可以很好地显示数据。
工作正常。
在我的表单上,我有一个用户可以输入的文本框,它将传递一个参数给用于填充此表的存储过程。因此,在启动时,文本框将包含“%”。然后用户可以输入“F%”并获取以“F”开头的所有内容
因此,当该文本框更改时,我会启动异步刷新 (.BeginInvoke) 来进行刷新。该表填充了减少的记录数(我检查了 ds.table(0).rows.count 并且它是正确的)
但是 datagridview 然后开始抛出 datagridview.dataerror 事件。 "System.IndexOutofRangeException : Index # 没有值"
看起来数据集已正确填充并且没有任何问题,但数据网格不喜欢此更新。索引超出范围错误非常常见,以至于我无法通过搜索找到所需的内容。
提前致谢! :)
【问题讨论】:
-
在数据绑定刷新数据时,当前行指针可能设置为无效行。如果我记得在数据刷新之前正确地将 currentrow 或 selectedrow 设置为 null。
标签: .net vb.net winforms datagridview