【发布时间】:2020-02-25 18:34:50
【问题描述】:
我正在使用 C#,我正在以编程方式将列添加到 DataGridView。列数介于 30-50 列之间(列数是因为我想垂直显示数据)现在我在页面上有一个 DataGridView 但到时候它会达到 5 个表,并且所有进程在页面加载中,但加载页面需要很长时间,比如 3 分钟只加载一个网格,我正在添加这样的列:
for(int i=0 ; i <dt.rows.count ; i++)
{
dgv.Columns.Add("c"+i.tostring(),"c"+i.tostring());
dgv.Rows[0].Cells[i].Value=i+1;
dgv.Rows[1].Cells[i].Value=dt.Rows[i].ItemArray[2].tostring();
dgv.Rows[2].Cells[i].Value=somevalue-othervalue;
}
dt 是我的datatable 名称,值来自datatable,有些需要太长时间,但数据并不多,过程也不复杂,所以我能在这里做什么?
我应该在后台运行该进程并使用另一个datatable 填充gridview 吗?我已经这样做了,但我没有看到任何变化。
【问题讨论】:
-
为什么不将列添加到
DataTable并将DataGridView绑定到DataTable? -
我需要在页面加载后添加越来越多的列,我在
DataTable中有一些列在Gridview中没有使用,我应该再创建一个DataTable并设计为我喜欢?并且将网格视图与第二个数据表绑定? -
所以,在页面加载后添加越来越多的列,然后将数据绑定到新表。
-
我试过了,速度更快!在此先感谢,我还有一个问题,为什么绑定比生成列要快?
-
我不知道,但这个(和大多数其他)控件的整个想法是显示它们绑定的数据。这就是他们优化的用例。
标签: c# datagridview datatable