在将列标题添加到我的数据表之后,如何添加列数据类型?

时间:2010-04-02 01:41:46

标签: c# datatable

使用下面的代码(来自我拼凑在一起的控制台应用程序),我在我的数据表中添加了七列。完成后,如何为每列设置数据类型?例如,数据表的第1列将具有标题“ItemNum”,我想将其设置为Int。我在网上查看了一些示例,但大多数都显示了一次创建列标题和列数据类型,如下所示:

loadDT.Columns.Add("ItemNum", typeof(Int));

在我的程序中,此列已有一个名称。我只是想做这样的事情(不是实际的代码):

loadDT.Column[1].ChangeType(typeof(int));

到目前为止,这是我的代码(它为列提供了名称):

// get column headings for datatable by reading first line of csv file.
        StreamReader sr = new StreamReader(@"c:\load_forecast.csv");
        headers = sr.ReadLine().Split(','); 
        foreach (string header in headers)
        {
            loadDT.Columns.Add(header);
        }     

显然,我在这方面很陌生,但很努力学习。有人能指出我正确的方向吗?谢谢!

2 个答案:

答案 0 :(得分:3)

只要该列中没有存储数据,您就应该能够分配列的数据类型属性:

<强> CODE:

loadDT.Column[1].DataType = typeof(int);

答案 1 :(得分:1)

Visual Studio不允许更改列的类型有一些数据, 你必须用你理想的类型创建一个新列,并将数据从指定列复制到新列

DataTable DT = new DataTable();
DT = somsdata ;
    DT.columns.Add("newcol",object); 
    foreach(datarow dr in DT.rows) 
             dr.itemarray["newcolumn"] = dr.itemarray["oldColumn"];