You can't add the same row twice. You need to create a new row for each row to be added. In other words place the
NewRow
call inside the loop:
DataRow drGetList;
foreach (DataRow dr in dsGetlist.Tables["GetList"].Rows)
{
drGetList = dtGetList.NewRow();
drGetList["Sl No"] = SlCount;
drGetList["V1"] = dr["VNo"];
drGetList["V2"] = dr["VDate"];
drGetList["V3"] = dr["VName"];
drGetList["CA"] = Convert.ToDecimal(dr["amt"]);
dtGetList.Rows.Add(drGetList);
SlCount++;
}