我在数据库中总共有70,000条记录。 目前我显示数据网格视图中的所有记录。 但这需要太多时间。 现在我想在winform加载时加载前100条记录 然后使用后台进程获取记录。 并将其绑定到datagridview。 有可能吗?如果是的话我是怎么做到的?
答案 0 :(得分:0)
您可以在数据表上使用linq,因此您只能获取要显示的行(使用分页)。一个例子:
DS.Tables[0].Select().Skip<DataRow>(pageItems * (PageNumber - 1)).Take<DataRow>(pageItems).CopyToDataTable();
pageItems,在您的情况下为100,PageNumber是当前选定的页面。在示例中,我有一个数据集DS,并在新数据表中获取结果的副本。
答案 1 :(得分:0)
绑定到datagrid的70000行对最终用户没有多大意义。它可能导致整体应用程序减速和高内存使用率。即使行将在后台填充,用户体验也可能非常糟糕。
我建议使用过滤器来限制用户可以看到的行数。另一种选择是使用virtual mode