如果使用  dataGridView1.DataSource = null;  原有的列名会木有了,解决办法如下。

                DataTable dt = (DataTable)dataGridView2.DataSource;
                dt.Rows.Clear();
                dataGridView1.DataSource = dt;