Caml Query для выборки элементов, у которых значение столбца подстановки не равно нулю - PullRequest
2 голосов
/ 28 сентября 2011

У меня есть список сотрудников в sharepoint. Один из столбцов в списке Сотрудников - это столбец поиска, который называется Организация. Я пытаюсь написать запрос CAML для выборки всех сотрудников, где значение организации не пусто. Но я получаю все предметы, даже если значение «Организация» пусто. Это то, что я пытаюсь

           string querystring = string.empty;
           querystring = "<Where><IsNotNull><Field RefName='EmployeeOrganization_x0020_Organization' /></IsNotNull></Where>";

Этот запрос возвращает все элементы в списке.

SPQuery query = new SPQuery();
query.Query = "<Where><IsNotNull><FieldRef Name='EmployeeOrganization_x0020_Organization'/></IsNotNull></Where>";
DataTable dtemp = emplist.GetItems(query).GetDataTable();
  if (dtemp != null)
            {
               GridView1.DataSource = dtemp ;
                GridView1.DataBind();
            }

1 Ответ

6 голосов
/ 28 сентября 2011
<Query>
  <Where>
    <IsNotNull>
       <FieldRef Name='Project'/>
    </IsNotNull>
  </Where>
</Query>

Работает на меня. Вы должны использовать U2U CAML Query Builder для построения запроса с помощью конструктора. Он автоматически генерирует для вас требуемое выражение CAML.

Можете ли вы предоставить больше от вашегоконтекст.Каковы ваши настройки в экземпляре SPQuery?

Редактировать:

<Field RefName='Project'/>

до

<FieldRef Name='Project'/>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...