datagridview 加载非常缓慢。我该如何优化它?
datagridview 有 4-5 千行。
我必须在几个参数上动态生成一个datagridview。(来自数据库的数据,列数)
我必须从数据库中的表(id,name,contact)垂直生成这样的datagridview ..
第 1 列
身份证
姓名
联系人
现在可以在column1 旁边有任意数量的空列。
目前我正在遵循这种方法。
- 首先添加所有空列。
- 然后在每个 for 循环迭代中添加三行,每个 (id,name,contact) 一行。
我正在从数据库中获取数据并将其作为 a 传递
List <string[]>
给GenerateRows
函数。private void GenerateColumns(int colLen) { dataGridViewGenerate.Rows.Clear(); dataGridViewGenerate.Columns.Clear(); DataGridViewColumn col0 = new DataGridViewTextBoxColumn(); col0.HeaderText = "Employee No. & Name"; dataGridViewGenerate.Columns.Add(col0); for (int i = 0; i < colLen; i++) { DataGridViewColumn col = new DataGridViewTextBoxColumn { HeaderText = (_sTime.AddDays(i)).Day.ToString(CultureInfo.InvariantCulture) + " " + (_sTime.AddDays(i)).ToString("ddd") }; dataGridViewGenerate.Columns.Add(col); } private void GenerateRows(List<string[]> empList) { int len = empList.Count; for (int a = 0; a < len; a++) { string[] arr = empList[a]; //row 1 var row1 = new DataGridViewRow(); row1.Cells.Add(new DataGridViewTextBoxCell { Value = arr[0] }); dataGridViewGenerate.Rows.Add(row1); //row 2 var row2 = new DataGridViewRow(); row2.Cells.Add(new DataGridViewTextBoxCell { Value = arr[1] }); dataGridViewGenerate.Rows.Add(row2); //row3 var row3 = new DataGridViewRow(); row3.Cells.Add(new DataGridViewTextBoxCell { Value = arr[2] }); dataGridViewGenerate.Rows.Add(row3); } }
我正在考虑在 sql 中创建一个程序,该程序将创建一个表并用数据填充它。然后只需将数据源分配给datagridview。