dipak prodhan Ответов: 1

Добавление строки в datatable.


У меня есть требование проверить, если datatable равен null, а затем скопировать строку в datatable, иначе нужно добавить строку в datatable.
В этом коде в разделе "else" он должен добавлять строку, но здесь он добавляет строку без каких - либо значений в ней.В первом столбце он добавляет текст как [System.Data.DataRow].

Что я уже пробовал:

if (dtTable == null)
    {
        dtTable = (from DataRow dr in dtDetails.Rows
                   where dr["ID"].ToString() == Id
                   select dr).CopyToDataTable();
    }
    else
    {
       

        dtTable.Rows.Add(from DataRow dr in dtDetails.Rows
        where dr["ID"].ToString() == Id
        select dr)
        // Here in DataTable it adding a new row but without any values.
        // In the first column it is appending a text as [System.Data.DataRow].

    }

1 Ответов

Рейтинг:
11

Bryian Tan

Если посмотреть на код, то приведенный ниже код возвращает коллекцию (1 или более)

from DataRow dr in dtDetails.Rows
        where dr["ID"].ToString() == Id
        select dr


Я думаю, что лучший альтер-Натив - это цикл через объект и импорт строки в объект dtTable.
var misteryObject = from DataRow dr in dtDetails.Rows
        where dr["ID"].ToString() == Id
        select dr;

foreach (DataRow dr in misteryObject )
		   {
			 dtTable.ImportRow(dr);
		   }


dipak prodhan

Спасибо за ваш ответ, но строки не импортируются в DataTable.