добавление строк в таблицу данных №2 - PullRequest
4 голосов
/ 15 февраля 2012

У меня есть таблица данных, и некоторые столбцы являются строками, некоторые - десятичными. Когда я добавлю строку, она автоматически преобразует информацию или мне придется конвертировать их самостоятельно? У меня есть много данных, которые мне нужно добавить в таблицу, и в настоящее время я использую это:

DataRow row = dataTable.NewRow();
row["item1"] = Info[0];
row["Item2"] = Info[1];
row["item3"] = Info[2];
row["Item4"] = Convert.ToDecimal(Info[3]);

Ответы [ 4 ]

1 голос
/ 12 марта 2013

Алекс Мендес, пожалуйста, посмотрите на эту ссылку: http://msdn.microsoft.com/en-us/library/system.data.datatable.newrow.aspx, Я думаю, что вам не хватает указанной строки кода (см. Ниже):

foreach(Info info in infoList)
{
   DataRow row = dataTable.NewRow(); 
   row["item1"] = info.Item1; //where Item1 could be a string 
   row["Item2"] = info.Item2; //where Item2 could be an int
   row["item3"] = info.Item3; //Where Item3 could be a DateTime
   row["Item4"] = info.Item4; //Where Item4 could be a Decimal
   dataTable.Rows.Add(row); //<-- You need to add this line to actually save the value to the Data Table
}
1 голос
/ 15 февраля 2012

row ["..."] является объектом и принимает любой тип.Если ваша Info [n] является строкой, вы можете преобразовать ее в правильный тип, если это будет необходимо.Я не знаю, является ли Info коллекцией или нет, но если это так, почему бы не сделать что-то вроде этого:

List<Info> infoList = new List<Info>();
infoList.Add(...); //Add item here.

foreach(Info info in infoList)
{
   DataRow row = dataTable.NewRow(); 
   row["item1"] = info.Item1; //where Item1 could be a string 
   row["Item2"] = info.Item2; //where Item2 could be an int
   row["item3"] = info.Item3; //Where Item3 could be a DateTime
   row["Item4"] = info.Item4; //Where Item4 could be a Decimal
}
0 голосов
/ 15 февраля 2012

Если ваш DataTable не набран, да, вам нужно преобразовать данные в намеченные типы, в случае типизированного DataTable он преобразует данные, например:

int number = "0";

Вы также можете установить типы столбцов.

0 голосов
/ 15 февраля 2012

проверьте документацию: Адресная таблица

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...