J'utilise du code comme celui-ci pour obtenir une liste de tous les documents d'un site avec SPSiteDataQuery, mais il retourne toutes sortes de documents qui n'ont pas été téléchargés par l'utilisateur. Quel est le meilleur moyen de filtrer la liste uniquement sur les documents qu'un utilisateur aurait téléchargés?Sharepoint - SPSiteDataQuery (recherche de la liste des documents)
Je soupçonne qu'il y a une requête que je peux utiliser mais je ne suis pas sûr de ce que FieldRef je devrais utiliser pour trouver seulement les documents téléchargés par l'utilisateur (non cachés ou fichiers de documents de type système).
voir *** ci-dessous dans la méthode
grâce
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;
}
aussi, vous pouvez simplement exclure compte du système de créé par le champ à l'aide (égal Non). et aussi, comme mentionné, utilisez 0x0101 . utilisez n'importe quel identifiant de type de contenu, pour interroger uniquement des types spécifiques de documents, à l'exclusion des éléments système tels que les pages maîtres). CT Hierarchy peut être vu ici: http: //msdn.microsoft.com/en-us/library/ms452896.aspx –