簡體   English   中英

我怎樣才能更快地填充datagridview c#

[英]How can I fill datagridview faster c#

我有以下代碼:

 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);
        }
    }

通過這種方法,我想使用dgvCustomMain隨機行創建一個新的DataGridView 所以我用int[] vect表示它是一個隨機數(從0dgvCustomMain.Count - 1 )的數組。 現在,如果數組較小(例如1500個元素),則需要188ms ;如果數組較大(例如15000個元素),則需要約1800ms;如果數組更大(例如150000個元素),則需要約20s。 現在我的問題是:如何才能更快地填充datagridview?

編輯

我在這里看一下但是我不知道如何實現它。 有人可以幫我嗎?

您可以使用虛擬模式來提高DataGridView的效率

看到這里: 鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM