Look at my comments below
foreach (string columnName in columnNames)
{
tempdatatable.Columns.Add(columnName, typeof(string));
}
int j = 1;
var tempRow = dtoutput.Rows[j];
int rowIndex = 2;
for (int i = dtoutput.Rows.Count - 1; i >= 0; i--)
{
if (i == rowIndex)
{
tempdatatable.NewRow();
tempdatatable.Rows.Add(tempRow[0], tempRow[1]);
}
rowIndex--;
}
Try this instead
foreach (var tempRow in dtoutput.Rows)
{
tempdatatable.NewRow();
tempdatatable.Rows.Add(tempRow[0], tempRow[1]);
}