【发布时间】:2023-04-02 04:19:01
【问题描述】:
我有一个数据网格视图。当我以编程方式添加新行时,它应该立即出现在 datagridview 上,而不是等待完成我拥有的所有行。
我正在使用以下解决方案
...
adapter.Fill(ds);
foreach (DataColumn dc in ds.Tables[0].Columns)
{
datagridView1.Columns.Add(dc.ColumnName, dc.ColumnName);
}
foreach (DataRow row in ds.Tables[0].Rows)
{
datagridView1.Rows.Add(row.ItemArray);
}
...
在这个解决方案中,我必须等到 ds.Tables[0].Rows 完成,然后 datagridview 显示这些行。
我正在寻求解决方案或建议,我可以在其中看到在 datagridview 上插入的实时行,与执行查询后 SQL Server 上的结果类似。
【问题讨论】:
-
您知道这会减慢所有记录的呈现速度吗?如果您想分块加载,那很好,但是在每一行之后都是矫枉过正的。作为记录,几年前我有一个 DataGridView,我将 30k 条记录加载到(大约 20 列)中,耗时不到一分钟。如果我再次从事那个项目,我会将其分解为最有可能一次 1k,然后继续加载,直到我拥有一切。
标签: c# sql winforms performance datagridview