When you are replacing the DataTable1 with DataTable2, it will replace the value from the top index(means 0).So you have to take the count(XX) of replacing table(DataTable2) and after replaced get the count of DataTable1 and delete the index's above the count(XX).
Ex:
dTable.Rows[XX].Delete();