Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更快地填充datagridview c#_C#_Arrays_Datagridview - Fatal编程技术网

如何更快地填充datagridview c#

如何更快地填充datagridview c#,c#,arrays,datagridview,C#,Arrays,Datagridview,我有以下代码: private void copyCloneRowFromdgvCustomMainTodgvCustomSingleExtraction(int[] vect) { dgvCustomSingleExtraction.Rows.Clear(); DataGridViewRow row = new DataGridViewRow(); int i = 0; dgvCustomSingleExtraction

我有以下代码:

 private void copyCloneRowFromdgvCustomMainTodgvCustomSingleExtraction(int[] vect)
    {
        dgvCustomSingleExtraction.Rows.Clear();
        DataGridViewRow row = new DataGridViewRow();
        int i = 0;
        dgvCustomSingleExtraction.ColumnCount = dgvCustomMain.ColumnCount;
        for (; i < dgvCustomMain.ColumnCount; i++)
            dgvCustomSingleExtraction.Columns[i].HeaderCell.Value = dgvCustomMain.Columns[i].HeaderCell.Value;

        for (i = 0; i < vect.Length; i++)
        {
            int intColIndex = 0;
            row = (DataGridViewRow)dgvCustomMain.Rows[vect[i]].Clone();
            foreach (DataGridViewCell cell in dgvCustomMain.Rows[vect[i]].Cells)
            {
                row.Cells[intColIndex].Value = cell.Value;
                intColIndex++;
            }  

            dgvCustomSingleExtraction.Rows.Add(row);
        }
    }
private void copyCloneRowFromdgvCustomMainTodgvCustomSingleExtraction(int[]vect)私有无效copycloneRowFromdGVcustomSingleExtraction
{
dgvCustomSingleExtraction.Rows.Clear();
DataGridViewRow行=新建DataGridViewRow();
int i=0;
dgvCustomSingleExtraction.ColumnCount=dgvCustomMain.ColumnCount;
对于(;i
使用此方法,我希望使用
dgvCustomMain
中的随机行创建一个新的
DataGridView
。所以我使用了
int[]vect
,它是一个随机数数组(从
0
dgvCustomMain.Count-1
)。现在,如果数组很小,例如1500个元素,则需要
188ms
,如果数组较大(例如15000个元素),则需要大约1800ms,如果数组较大,如150000个元素,则需要大约20s。现在我的问题是:如何更快地填充datagridview

编辑


我看了一下,但不知道如何实现它。有人能帮我吗?

您可以使用虚拟模式来提高DataGridView的效率

请看这里: