读书人

datagridview数据绑定有关问题最后三

发布时间: 2012-01-19 00:22:28 作者: rapoo

datagridview数据绑定问题,最后三十分了,达人指点
sqlConnection.Open();
//动态构建查询语句,每次生成的语句都可能不相同,这也引起了datatable架构的不同
SqlCommand sqlCommand = new SqlCommand(buildGroup(), sqlConnection);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand);

//如果应用下面这句(其中dataTable已在类成员级别进行了定义),则在第二次运行这个过程后,dataGridview中显示不出数据,只有一个标题行
//dataTable.Reset();

//如果应用下面这句,而不用上面的,程序运行正常,但是这样做,是不是在多次运行这段程序后,由于GC过程的不确定性,引起内存的大量占用呢?
DataTable dataTable = new DataTable();

sqlDataAdapter.Fill(dataTable);
dataGridView1.DataSource = dataTable;

简单说一下:上面的那段代码,是按钮事件的一部分,就是动态构建SQL语句,查询结果与datagridview控件绑定。如果不每次都New一个DataTable的话,哪么第二次点击按钮执行这段程序后,绑定显示结果是不正常的,如何使之显示正常呢?

[解决办法]
为什么要RESET? 你要重新读数据就要NEW出来 不过一般你可以把DATATABLE放在APP或者缓存中节省读取开销 不用再FILL
[解决办法]
每次:dataTable = new DataTable();

读书人网 >C#

热点推荐