当数据表绑定到DataSourse时,row.clone无法正常工作



datagridview dgv绑定到数据dt。

dgv_copy是新的datagridview.dgv_copy是通过使用row.clone。

将行添加到DGV。
      my code is
             if (dgv_copy.Columns.Count == 0)
            {
                foreach (DataGridViewColumn dgvc in dgv_org.Columns)
                {
                    dgv_copy.Columns.Add(dgvc.Clone() as DataGridViewColumn);
                }
            }
            DataGridViewRow row = new DataGridViewRow();
            for (int i = 0; i < dgv_org.Rows.Count; i++)
            {
                row = (DataGridViewRow)dgv_org.Rows[i].Clone();
                int intColIndex = 0;
                foreach (DataGridViewCell cell in dgv_org.Rows[i].Cells)
                {
                    row.Cells[intColIndex].Value = cell.Value;
                    intColIndex++;
                }
                dgv_copy.Rows.Add(row);
            }
            dgv_copy.AllowUserToAddRows = false;
            dgv_copy.Refresh();

来源是https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.clone.aspx

因为原始DataGridView被限制到DataTable,您可以创建DataTable的副本并将其bud到第二个DataGridView

var original = (DataTable)originalDataGridView.DataSource;
var copy = original.Copy();
copyDataGridView.DataSource = copy;

很确定您可以做DGV_COPY.ROWS.ADD(dgv_org.Rows [i] .ItemArray)

最新更新