Sunday, March 20, 2011

Copying a datagridview

The function below will make a copy of a datagridview.  Its in C#.


private void copyDGV(DataGridView dgvOriginal, DataGridView dgvCopy)


{

dgvCopy.Columns.Clear();

//dgvCopy.Rows.Clear();



// copy columns

foreach (DataGridViewColumn col in dgvOriginal.Columns)

{

dgvCopy.Columns.Add((DataGridViewColumn)col.Clone());

}


// copy data

DataGridViewRow dgvr = new DataGridViewRow();



for (int k = 0; k < dgvOriginal.Rows.Count; k++)

{

dgvr = (DataGridViewRow)dgvOriginal.Rows[k].Clone();

int nColIndex = 0;

while (nColIndex < dgvr.Cells.Count)

{

dgvr.Cells[nColIndex].Value = dgvOriginal.Rows[k].Cells[nColIndex].Value;

nColIndex++;

}



dgvCopy.Rows.Add(dgvr);

}


// update scrollbars
if (dgvCopy.RowCount > 0)

{

dgvCopy.UpdateRowHeightInfo(0, true);

}



dgvCopy.Refresh();

}

No comments:

Post a Comment