话不多说看代码~ internal static DataTable SwitchRow(DataTable dt, int iRow1, int iRow2) { if (iRow1==iRow2) return dt; DataRow dr1=dt.NewRow(); DataRow dr2 = dt.NewRow(); dr1.ItemArray = dt.Rows[iRow1].ItemArray; dr2.ItemArray = dt.Rows[iRow2].ItemArray; dt.Rows.InsertAt(dr2, iRow1); dt.Rows.RemoveAt(iRow1 + 1); dt.Rows.InsertAt(dr1, iRow2); dt.Rows.RemoveAt(iRow2 + 1); return dt; }