C# datagridview内存

star_twinkle 2011-03-10 01:38:19
在.net平台下,用datagridview,使用VS自带的向导,绑定数据后,每次打开窗口后,内存都会不断增加。于是我在关闭窗口的时候,我采用了下面的处理方式,比如说有10万组数据,现在还是有几M的增加速度,这种问题怎么解决~
private void GridViewDocNoMaster_FormClosed(object sender, FormClosedEventArgs e)
{
this.dMSDocNoMaster.DocNoMaster.Rows.Clear();
this.dMSDocNoMaster.DocNoMaster.Clear();
this.dMSDocNoMaster.Clear();
this.docNoMasterBindingSource.DataSource = null;
this.dataGridView1.DataSource = null;
this.Dispose();
GC.Collect();
}
...全文
223 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
star_twinkle 2011-03-10
  • 打赏
  • 举报
回复
如果分页显示的话,怎么做啊。由于我用到了C#产生的datagridview自动连接数据库的方法,采用这种方法再加入分页显示,需要怎么做啊?而且刚刚我调用GC.Collect();过了好久,内存依旧没有变化。
一切为了你 2011-03-10
  • 打赏
  • 举报
回复
分页显示呗,再说 释放内存也需要一定的时间!!
star_twinkle 2011-03-10
  • 打赏
  • 举报
回复
我是将数增大了后,测试发现有部分内存没有释放。实际的话,只有2k行左右,我想这时候还是有内存没有释放的情况呐,只是可能不会明显~
star_twinkle 2011-03-10
  • 打赏
  • 举报
回复
现在的问题是,当我加载后,如果要关闭窗口,就要将这些内存释放了,这时候要怎么做呢?
熙熙 2011-03-10
  • 打赏
  • 举报
回复
用分页吧,没必要一次显示那么多数据吧
  • 打赏
  • 举报
回复
你一次性要显示10万组的数据?取数据的时候只取你需要的那些就好了,10W通过数据库键/索引完全没有压力
kid_wang 2011-03-10
  • 打赏
  • 举报
回复
是不是你用dataset绑定的,慢是因为dataset在加载数据。数据太大,它全部加载到内存里,肯定受影响。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧