dipak prodhan Ответов: 1

У меня есть требование проверить, является ли datatable нулевым, а затем скопировать строку в datatable, иначе нужно добавить строку в datatable.


i have a requirement to check if DataTable is null then copy the row to DataTable otherwise need to append the row to the DataTable.


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

if (dtTable == null)
    {
        dtTable = (from DataRow dr in dtDetails.Rows
                   where dr["ID"].ToString() == Id
                   select dr).CopyToDataTable();
    }
    else
    {
       // Here Need to Add a new row in DataTable and append the output of 
         query into DataTable ie dtTable.

       DataRow row = selectedTable.NewRow();

        dtTable  = (from DataRow dr in dtDetails.Rows
        where dr["ID"].ToString() == Id
        select dr)
        // Need help here

    }

1 Ответов

Рейтинг:
9

OriginalGriff

Если DataTable является null тогда вы ничего не можете скопировать в него: там нет ничего, чтобы скопировать!

Это немного похоже на карман: у вас есть карман в рубашке, который вы используете, чтобы держать ручку. Если вы сунете руку в карман и обнаружите, что там нет ручки, вы не сможете подписать свое имя на листе бумаги - и вы получите очень смешные взгляды, если попытаетесь!
Но то, что вы пытаетесь сделать, это залезть в карман, когда вы даже не носите рубашку! Вы не можете проверить карман на наличие ручки, потому что кармана там нет вообще.

Если вы хотите скопировать данные в DataTable и переменная null, вы должны создать экземпляр таблицы, чтобы добавить его.

В этом случае все, что вам нужно сделать, это использовать метод Add:

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


dipak prodhan

Спасибо за ваш ответ, но "dtTable.Rows.Добавить" дает ошибку "невозможно присвоить, чтобы добавить, поскольку он представляет собой группу методов "

OriginalGriff

И почему вы решили, что я заключил его в скобки?

dipak prodhan

Здесь я сталкиваюсь с проблемой, которая заключается в том, что в DataTable он добавляет новую строку, но без каких-либо значений.В первом столбце он добавляет текст как [System.Data.DataRow]. Пожалуйста, помогите.