0

我在数据库中总共有 70,000 条记录。目前我在数据网格视图中显示所有记录。但这需要太多时间。现在我想在winform加载时加载前100条记录,然后使用后台进程获取记录。并将其绑定到datagridview。有可能吗?如果是的话,我如何做到这一点?

4

2 回答 2

0

您可以在数据表上使用 linq,因此您只能获取要显示的行(使用分页)。一个例子 :

DS.Tables[0].Select().Skip<DataRow>(pageItems * (PageNumber - 1)).Take<DataRow>(pageItems).CopyToDataTable();

pageItems 在您的情况下为 100,而 PageNumber 是当前选择的页面。在示例中,我有一个数据集 DS 并在新数据表中获取结果的副本。

于 2012-04-09T09:46:37.977 回答
0

绑定到数据网格的 70000 行对最终用户来说没有太大意义。它可能会导致整个应用程序速度变慢和内存使用率过高。即使在后台填充行,用户体验也可能非常糟糕。

我建议使用过滤器来限制用户可以看到的行数。另一种选择是使用虚拟模式

于 2012-04-09T09:47:07.150 回答