Фильтр вычисляемых полей SPQuery не работает в SharePoint 2007/2010

В моем списке есть вычисляемое поле, и я пытаюсь использовать фильтр для этого поля. По какой-то причине следующий запрос всегда возвращает все элементы вместо отфильтрованной коллекции элементов:

var spQuery = new SPQuery
    {
        Query = @"<Where><Geq><FieldRef Name='Score' /><Value Type='Calculated'>10000</Value></Geq></Where><OrderBy><FieldRef Name='Modified' Ascending='True' /></OrderBy>",
        RowLimit = 200,
        ViewFields = @"<FieldRef Name='Username' />"
    };

var spList = web.Lists["Users"];

var spListItemCollection = spList.GetItems(spQuery);

3 ответа

Попробуйте использовать

spQuery.ViewFieldsOnly = true;

Попробуйте удалить раздел ViewFields (чтобы получить все столбцы, в том числе те, которые необходимы для расчета) или установите SPQUery.IncludeMandatoryColumns

Удалить query элемент из вашего SPQuery. Смотрите синтаксис здесь

Другие вопросы по тегам