将大数据集加载到GridView中的最快方法是什么?

时间:2013-07-01 18:30:47

标签: c# winforms

我有一个包含1.4亿行的数据源,而且还在增长。

我们让用户添加过滤器以减少被叫数据,但您仍然一次查看43,000 +/- 100,000 +/-行。

在任何人说过之前,无论如何都没有人可以查看那么多行,它们会被导出到excel工作簿以进行基于它们的计算。

我在GridView中从返回的CSV文件中加载结果如下:

Object result = URIService.data;
CSVReader csvReader = new CSVReader(result);
DataTable dataTable = csvReader.CreateDataTable(true, true);

If(dataTable != null)
{
    gridView1.BeginUpdate();
    gridView1.DataSource = dataTable;
    gridView1.DataBind()
    gridView1.EndUpdate();
}
Else
{
    Return;
}

CSVReader是一个CSV解析器。

我的问题是,这是将大型数据集加载到gridview的最佳和最有效的方法吗?

编辑:使用行列表或数据表以外的其他内容会更好吗?

3 个答案:

答案 0 :(得分:3)

我认为只有一种方法可以将大数据集加载到网格视图中,它就是你现在正在使用的那种方式,但如果你想提高性能,我强烈推荐使用分页,这样你就可以得到大块的数据集了。因此,您将减少加载时间

http://sivanandareddyg.blogspot.com/2011/11/efficient-server-side-paging-with.html

http://www.codeproject.com/Articles/125541/Effective-Paging-with-GridView-Control-in-ASP-NET

http://www.4guysfromrolla.com/articles/031506-1.aspx

答案 1 :(得分:0)

您是否尝试使用buffered renderer

答案 2 :(得分:0)

在SQL SERVER的情况下使用SqlBulkCopy类以最快的速度复制大数据