多次错误排序/合并数据表

时间:2019-05-22 03:27:11

标签: c# asp.net foreach datatable dataview

编辑:调试后,出现错误代码的行如下:

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

在第二个循环中,以下值为空,导致排序失败。

SPListItemCollection filePlanListing = recordDocument.GetItems(query);


问题:如果我多次重复以下方法,则会遇到此错误。

  

System.Data.DataException:必须在使用之前设置DataTable   数据视图。

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以便它可以多次迭代吗?

谢谢。

0 个答案:

没有答案