Как добавить тип данных столбца после добавления заголовков столбцов в таблицу данных? - PullRequest
6 голосов
/ 02 апреля 2010

Используя приведенный ниже код (из консольного приложения, которое я собрал вместе), я добавляю семь столбцов в таблицу данных. Как только это будет сделано, как я могу установить тип данных для каждого столбца? Например, столбец 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 ]

3 голосов
/ 02 апреля 2010

Вы должны иметь возможность назначить свойство типа данных столбца, если в этом столбце еще нет данных:

КОД:

loadDT.Column[1].DataType = typeof(int);
1 голос
/ 02 ноября 2013

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"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...