【发布时间】:2010-02-19 22:48:16
【问题描述】:
我正在使用如下代码来使用 SPSiteDataQuery 获取站点中所有文档的列表,但是它返回的是用户未上传的各种文档。将列表过滤到仅用户上传的那些文档的最佳方法是什么?
我怀疑有一个可以使用的查询,但我不确定应该使用什么 FieldRef 来仅查找用户上传的文档(不是隐藏或系统类型的文档文件)。
方法见下面的***
谢谢
protected DataTable GetListDataSPSiteDataQuery(string siteUrl, bool recursive, ref string error) {
DataTable results = null;
using (SPSite site = new SPSite(siteUrl)) {
SPWeb web = site.OpenWeb();
SPSiteDataQuery query = new SPSiteDataQuery();
//query.Webs = "<Webs Scope='SiteCollection' />"; //query all web sites in site collection
if (recursive)
query.Webs = "<Webs Scope='Recursive' />";
query.Lists = "<Lists ServerTemplate='101' Hidden='FALSE' MaxListsLimit='0' />";
//query.Lists = "<Lists BaseType='1' MaxListsLimit='0' />"; //document library only (0=generic list, 1=doc library,3=discussino forum,4-vote or survey,5=issues list)
// *** can i provide a query here to filter for the documents i am interested in?
query.Query = string.Empty;
//query.Query = "<Where>" +
// "<Gt>" +
// "<FieldRef Name='File_x0020' />" +
// "<Value Type='Number'>0</Value>" +
// "</Gt>" +
// "</Where>";
query.ViewFields = _viewFields;
results = web.GetSiteData(query);
}
return results;
}
【问题讨论】:
标签: sharepoint