2010-01-14 3 views
1

Мне нужно запросить все дочерние объекты сайта I m. У меня есть список под названием Country, который представляет собой 2-3 уровня уровня сайта, которые моя веб-страница выполняет рендеринг. Мой код до сих пор таков. Страна - это пользовательский список, DT1 выходит равным нулю. Я не знаю, где я ошибаюсь, любая идея по этому поводу?SPSiteDataquery возвращает null datatable

  SPWeb web = SPContext.Current.Web; 

      SPSiteDataQuery qry = new SPSiteDataQuery(); 
      qry.Lists = "<Lists BaseType='1' />"; 

      qry.Query = "<Where><Contains><FieldRef Name='Title'/><Value Type='Text'>USA</Value></Contains></Where>"; 

      qry.ViewFields = "<FieldRef Name='Currency'/>"; 

      qry.Webs = "<Webs Scope='SiteCollection' />"; 

      DataTable DT1= web.GetSiteData(qry); 
+0

У меня была схожая проблема, когда требуемые поля зрения не были найдены во всех запрошенных списках. – naivists

ответ

2

Проверьте tyat всех списков с BaseType = «1» имеет поле с внутренним названием валюты, иначе вы получите нулевой как результат.

+0

Я изменил его на , но результат все тот же – TSSS22

+1

Фактически BaseType - это O для общего списка и, выполняя Nullable = 'TRUE', я могу решить свою проблему , Спасибо anyways ... – TSSS22

+0

Затем ответьте на свой вопрос и примите его, если у вас есть решение. –

Смежные вопросы