DataGridview刷新后报索引异常的问题

datsSet 绑定到dataGrieView,在刷新dataSet的数据时,常会bug:索引0没有值或索引(int)x没有值
昨天弄了一个下午,发现bug原因:
dataGridView中有数据时,默认会选中第一行。当我们把dataSet中的数据清空时,dataGridview中就没有内容了,但是
dataGrieView还是在选中第一行,所以就会出现索引0没有值的错误。如果我们选中第二行,然后清空dataSet的数据,就会报索引1没有值。
解决办法:
清空dataSet的数据前,把dataGridView中的所有行都取消选中。
[code]
foreach
(DataGridViewRow row in dataGridView1.Rows)
{
row.Selected = false;
}

时间: 2024-07-30 13:53:05

DataGridview刷新后报索引异常的问题的相关文章

Java 语法 索引 ----- 异常

import java.io.*; // ... FileReader in = null; try { in = new FileReader("Missing.file"); } catch(FileNotFoundException e) { System.out.print(e.getMessage()); } finally { if (in != null) { try { in.close(); } catch(IOException e) {} } } 参考文献: Ja

如何实现DataGridView刷新数据?

近期做项目,遇到一个问题,在DataGridView中查询数据,进行操作后,仍旧显示原来未更新数据库的数据列表,这种情况很容易让人误解是否已经更新了数据. 我解决这个问题,有两种方式: 1.重新生成新窗口 Check check = new Check(); this.Close(); check.Show(); Check 是我们装载列表的窗体. 2.设置一个按钮,点击它触发一个事件,让后将数据源滞空,重新加载数据源.重新发送请求数据库: MessageCheckdataGridView.Da

DataGridView 中发生以下异常: System.Exception: 是 不是 Decimal 的有效值。 ---> System.FormatException: 输入字符串的格式不正确。

其实之前我自己是没测出这个问题的,但是一放到测试的手上就出来了,原因我知道在哪里改输什么东西,但是人家不知道啊.报错如下: --------------------------- "DataGridView 默认错误"对话框 --------------------------- DataGridView 中发生以下异常: System.Exception: 是 不是 Decimal 的有效值. ---> System.FormatException: 输入字符串的格式不正确.

控件运行后报索引超出范围的问题解决

错误现象: 错误信息:索引超出范围.必须为非负值并小于集合大小. 参数名: index(开发环境:VS2010,三方控件DotNetBar) 一般在程序开发过程中项目报以上的错误,一般在程序界面是没有办法捕获异常的,不过也不是这样的问题就没有办法解决,我们可以在在项目的入口文件:Program.cs中添加一下代码: Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application

关闭“编辑窗体”后, 主窗体的DatagridView刷新数据的问题

问题:在关闭一个窗体2后,要刷新窗体1内的datagridview的数据,直接窗体1.datagridview.datasource=dt 是没用的. 解决办法如下: 在主窗体里 创建编辑窗体时 加上一句  frm =me.owner,然后关闭编辑窗体时 创建一个主窗体对象并赋值为me.owner 主窗体新建编辑窗体时的代码如下: 1 Dim frm As New ItemEdit 2 frm.Owner = Me 3 frm.ShowDialog() 编辑窗体关闭事件代码如下: 1 Priva

Java 数组索引异常的产生过程解析

通过索引查询数组值 public class DemoArrayException { public static void main(String[] args) { int[] array = {0, 1, 2, 3}; int element = DemoArrayException.getElement(array, 4); } public static int getElement(int[] array, int index) { return array[index]; } }

解决使用angular2路由后,页面刷新后报404错误。

点击路由链接跳转页面是正常的,但是当刷新页面时就出现了404错误. 解决方法如下: 在app.module.ts中添加import: import {HashLocationStrategy,LocationStrategy} from '@angular/common'; 并在 providers下添加所引入的服务: providers: [{provide: LocationStrategy,useClass: HashLocationStrategy}] 备注:出现问题的原因:刷新页面时寻

[转]Magento刷新索引的几种方法

本文转自:https://blog.csdn.net/IT_Wallace/article/details/78513951 在数据表中经常会使用索引,下面简单介绍一下索引的利弊: 创建索引可以大大提高系统的性能: 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 可以大大加快数据的检索速度,这也是创建索引的最主要的原因. 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义. 在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间. 通过使用索引

DataGridView中添加CheckBox(与DataSource分开添加) & C# winform单元格的formatted值的类型错误异常解决

1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",ColumnType 设置为"dATAGridViewCheckBoxColumn",HeaderTest 可以设置为想要的列名,如下图: 2. Debag 显示窗体的时候,会报 “System.FormatException:单元格的Formatted值的类型错误.要替换此默认对话框,请处理DataError事件" 的异常,点击确定出现新的提示: [Dat