1.清空数据源,会删除列信息(也就是列标题也会消失)
dgv.DataSource = null;
DataTable dt = (DataTable)dgv.DataSourece;
dt.Rows.Clear();
dgv.DataSource = dt;
这种要保证数据源不为null,不然dt为null会报错。
3.动态添加列,保留位置排序
DataGridViewColumn[] arr_dgv_finished_columns = new DataGridViewColumn[dgv_finished.Columns.Count];
//循环获取DataGridView的列信息
for (int i = 0; i < dgv_finished.Columns.Count; i++)
{
arr_dgv_finished_columns[i] = dgv_finished.Columns[i];
}
dgv_unfinished.Columns.Clear();
dgv_unfinished.DataSource = null;
//动态添加列信息,保留列顺序的排序
for (int i = 0; i < arr_dgv_unfinished_columns.Length; i++)
{
arr_dgv_unfinished_columns[i].DisplayIndex = i; //这句代码保留排序
dgv_unfinished.Columns.Add(arr_dgv_unfinished_columns[i]);
}
重要的是后面的for循环里的代码