Ошибка сортировки / объединения DataTable несколько раз - PullRequest
0 голосов
/ 22 мая 2019

РЕДАКТИРОВАТЬ : после отладки строка, в которой обнаружен код ошибки, выглядит следующим образом:

dv.Sort = "Header1Title, Header2Title, Header3Title";

Во время второго цикла значение, указанное ниже, является пустым, что приводит к ошибке сортировки.

SPListItemCollection filePlanListing = recordDocument.GetItems(query);


Вопрос: Я столкнулся с этой ошибкой, если повторил следующий метод более одного раза.

System.Data.DataException: DataTable должен быть установлен до использования DataView.

foreach (var header1ref in header1Ref)
{
    try
    {
        SPQuery query = new SPQuery(view)
        {
            RowLimit = 0,
            Query = "<Where><And><Eq><FieldRef Name =\"Header1Ref\"/><Value Type=\"Text\">{0}</Value></Eq>{1}</And></Where>".FormatWith(header1ref, subQuery),
            ViewAttributes = "Scope=\"RecursiveAll\"",
            ViewFields = @"
        <FieldRef Name='Header1Title'/>",
        };
        SPListItemCollection filePlanListing = recordDocument.GetItems(query);
        DataView dv = new DataView(filePlanListing.GetDataTable());
        dv.Sort = "Header1Title, Header2Title, Header3Title";
        dtAll.Merge(dv.ToTable());
    }
    catch (Exception ex)
    {
        Log(ex.ToString());
    }
}

Если вышеуказанное выполняется только один раз, ошибок нет.

Могу ли я узнать, как правильно управлять datatable, чтобы он мог повторяться несколько раз?

Спасибо.

...