我首先使用实体框架模型将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);
}
答案 0 :(得分:0)
您可以使用:
dgvView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;
如果仍然缓慢加载,则更好使用
dgvView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
并使用:您可以在绑定数据后重新启用此功能:
dgvView.RowHeadersVisible = false;