фильтровать элементы по имени сайта и списку с помощью SPSiteDataQuery - PullRequest
0 голосов
/ 16 февраля 2012

Я перечисляю файлы из нескольких папок, используя следующий код:

SPSiteDataQuery q = new SPSiteDataQuery();
q.Lists = "<Lists BaseType='1'/>";
q.Query = "<Where> <Where>
<And><Neq><FieldRef Name='FSObjType'/><Value Type='Lookup'>1</Value></Neq>
<Contains><FieldRef  Name='ProjectProperty.Title' /><Value Type='Text'>Site_Name_Value_From_TextBox</Value></Contains>
</And>
</Where></Where>";

q.Webs = "<Webs Scope='Recursive' />";
q.ViewFields = "<FieldRef Name='ID' /><FieldRef Name='LinkFilename' /><FieldRef Name='File_x0020_Type' /><FieldRef Name='Title' /><FieldRef Name='FileRef' /><ListProperty Name='Title' /><ProjectProperty Name='Title' />";

код работает нормально для перечисления элементов, но мне нужно отфильтровать элементы по имени сайта и имени библиотеки, я использовал

<Contains><FieldRef Name='ProjectProperty.Title' /><Value Type='Text'>Site_NAme</Value></Contains>

но я не получаю результатов, когда я использую Title или FileRef или любой другой фильтр поля работает нормально, что я должен использовать вместо "ProjectProperty" и "ListProperty" ??

1 Ответ

0 голосов
/ 17 февраля 2012

Попробуйте

<FieldRef Name="SiteName" /><Value Type='Text'>Site_Name</Value>

или

<FieldRef Name="ows_SiteName" /><Value Type='Text'>Site_Name</Value>
...