缓慢加载Datagridview

时间:2019-09-07 10:36:54

标签: c# sql-server entity-framework datagridview

我首先使用实体​​框架模型将sql-query的结果加载到DatagridView中。

我知道这种方法是错误的,但是这种方法是在我的大学中展示的。如何优化数据加载?我应该建立DataTable吗? 5-7秒内加载的记录少于1000条。

IVCEntities db = new IVCEntities();
System.Data.SqlClient.SqlParameter nnar = 
new System.Data.SqlClient.SqlParameter("@nnar", NumNaryd);
var view = db.Database.SqlQuery<Reestr>("select  * from Reestr where Status <> 'Printed' and NumNar = @nnar ", nnar);
foreach (var v in view)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.CreateCells(dgvView);
                row.Cells[0].Value = v.NumNar.ToString().Substring(5));
                row.Cells[1].Value = v.TabNum;
                row.Cells[2].Value = v.Status;
                row.Cells[3].Value = v.Detal;
                row.Cells[4].Value = v.DateForm.ToShortDateString();
                row.Cells[5].Value = v.Naladchik;
                dgvView.Rows.Add(row);
            }

1 个答案:

答案 0 :(得分:0)

您可以使用:

dgvView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing; 

如果仍然缓慢加载,则更好使用

dgvView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; 

并使用:您可以在绑定数据后重新启用此功能:

dgvView.RowHeadersVisible = false;