2013-02-19 5 views
2

У меня есть функция, которая будет возвращать несколько ItemIDs вКак вставить несколько DataTable данных в один DataTable C#

  for (int i = 0; i < dt.Rows.Count; i++) 
      { 
       ItemID = int.Parse(dt.Rows[i]["item_Id"].ToString()); 
       dtAtlr = prodctsDCCls.getItemIds(ItemID); 
       //dtItems = dtAtlr.Copy(); 
      } 

Я хочу, чтобы на поиск всех ItemIds из той же таблицы и должны сохранить все данные в одном datatable.If я копирую один datatable к другому datatable, который заменяет предыдущий datatable. но мне нужны все данные. Пожалуйста, помогите мне

+1

Непонятно из вашего вопроса, что вы пробовали, в чем была проблема (было ли исключение?) Или какой желаемый результат. Предоставьте короткий (но полный) образец, вы можете заменить ваши 'getItemIds' на foo-метод, который возвращает' DataTable'. –

+0

Примечание: если 'item_Id' уже является' int', используйте строго типизированный метод расширения DataRow' ['Поле'] (http://msdn.microsoft.com/en-us/library/system.data. datarow.field (v = vs.90) .aspx) (который также поддерживает типы с возможностью NULL): 'item_Id = dt.Rows [i] .Field (" item_Id ");' –

+0

, который заменяет предыдущий тип данных. это моя проблема sir –

ответ

1

Используйте DataTable.Merge, чтобы объединить две таблицы данных. Так что ваш код будет:

for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    ItemID = int.Parse(dt.Rows[i]["item_Id"].ToString()); 
    dtAtlr.Merge(prodctsDCCls.getItemIds(ItemID)); // For Merging 
} 

Используя DataTable.Copy, ваш DataTable dtAtlr будет последний вернулся DataTable против ItemID

1

Вы можете проверить DataTable.Merge

Merge указанный объект DataTable с током Таблица данных.

Смежные вопросы