我首先使用实体框架模型将sql查询的结果加载到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);
}发布于 2019-09-07 18:47:51
您可以使用:
dgvView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing; 如果加载速度仍然很慢,最好使用
dgvView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; 并使用:
dgvView.RowHeadersVisible = false;您可以在绑定数据后重新启用上述功能:
https://stackoverflow.com/questions/57832885
复制相似问题