Add columns to a datatable in c#?
Solution 1
Use dt.Rows.Import, or dt.ImportRows, I forgot the name
or judging from your code, why you need the dt.Rows.Add? shouldn't that be omitted?
Solution 2
Why do you add the datarow again into the table?
Remove the line dt.Rows.Add(dr);
and edit the datatable directly like this dt.Rows[i]["IsDeleted"] = Convert.ToByte(0);
using a for loop
ACP
Updated on May 11, 2020Comments
-
ACP about 4 years
I have a csv reader class that reads a
.csv
file and its values.... I have createddatatable
out of it... Consider myDatatable
contains three header columnsName,EmailId,PhoneNo
.... The values have been added successfully.... Now i want to add two columnsIsDeleted,CreatedDate
to thisdatatable
... I have tried this but it doesn't seem to work,foreach (string strHeader in headers) { dt.Columns.Add(strHeader); } string[] data; while ((data = reader.GetCSVLine()) != null) { dt.Rows.Add(data); } dt.Columns.Add("IsDeleted", typeof(byte)); dt.Columns.Add(new DataColumn("CreatedDate", typeof(DateTime))); foreach (DataRow dr in dt.Rows) { dr["IsDeleted"] = Convert.ToByte(0); dr["CreatedDate"] = Convert.ToDateTime(System.DateTime.Now.ToString()); dt.Rows.Add(dr); }
dt.Rows.Add(dr);
shows an error sayingThis row already belongs to this table.
....alt text http://www.imagechicken.com/uploads/1273560975016964800.jpg