开发者

Add columns to a datatable in c#?

开发者 https://www.devze.com 2022-12-29 17:01 出处:网络
I have a csv reader class that reads a .csv file and its values.... I have created datatable out of it... Consider my Datatable contains three header columns Name,EmailId,PhoneNo.... The values have b

I have a csv reader class that reads a .csv file and its values.... I have created datatable out of it... Consider my Datatable contains three header columns Name,EmailId,PhoneNo.... The values have been added successfully.... Now i want to add two columns IsDeleted,CreatedDate to this datatable... 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 saying This row already belongs to this table. ....

开发者_运维技巧alt text http://www.imagechicken.com/uploads/1273560975016964800.jpg


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


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?

0

精彩评论

暂无评论...
验证码 换一张
取 消