编辑:调试后,出现错误代码的行如下:
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
以便它可以多次迭代吗?
谢谢。