void SwapDataRow(ref DataTable dt, int srcIndex, int dstIndex)
{
DataRow tmpRow = dt.NewRow();
// backup src row
for (int i = 0; i < dt.Columns.Count; i++)
{
tmpRow[i] = dt.Rows[srcIndex][i];
}
// assign to src row
for (int i = 0; i < dt.Columns.Count; i++)
{
dt.Rows[srcIndex][i] = dt.Rows[dstIndex][i];
}
// assign to dst row
for (int i = 0; i < dt.Columns.Count; i++)
{
dt.Rows[dstIndex][i] = tmpRow[i];
}
}