none
Хочу наложить фильтр на столбец "Подстановка"

    Вопрос

  • Добрый день.

    У меня есть Document Set с набором полей, одно из которых имеет тип "Подстановка".

    Эта "подстановка" ни что иное как название проекта из другого списка.

    Всё бы ничего, но когда я создаю/редактирую элемент с таким столбцом, то мне хотелось бы, чтобы выпадали только названия проектов, у которых статус = "Утвержден".

    Можно ли как то на уже имеющемся столбце с типом "Подстановка", наложить фильтр учитывающий "Статус"?

    19 июня 2017 г. 6:11

Ответы

Все ответы

  • $().SPServices.SPFilterDropdown


    <Eq><FieldRef Name='Status'/><Value Type='Text'>Утверждён</Value></Eq>

    • Изменено Mikhail Zhuykov 19 июня 2017 г. 6:41
    • Помечено в качестве ответа VARD32 19 июня 2017 г. 9:25
    19 июня 2017 г. 6:35
  • Михаил, огромное спасибо за ответ.

    Не могли бы Вы пояснить как оно работает?

    Куда мне этот фрагмент кода вставлять? Я так понимаю, выражение, которое Вы привели в качестве ответа это значение поля CAMLQuery ?

    Если так, то куда и где мне разместить этот JQuery - запрос?

    19 июня 2017 г. 7:25
  • Михаил, огромное спасибо за ответ.

    Не могли бы Вы пояснить как оно работает?

    Куда мне этот фрагмент кода вставлять? Я так понимаю, выражение, которое Вы привели в качестве ответа это значение поля CAMLQuery ?

    Если так, то куда и где мне разместить этот JQuery - запрос?

    Верно это фильтр по CAMLQuery, если правильно понял ваш вопрос, то вы собираетесь фильтровать столбец списка/библиотеки? если да, то код нужно добавить также как вы делали в предыдущей теме.
    19 июня 2017 г. 7:35
  • Да, Вы всё верно поняли.

    Только проблема в том, что когда я открываю форму редактирования элемента и кликаю по шестерёнке (чтобы вызвать служебное меню) у меня есть все пункты кроме "Изменение страницы".

    Именно через этот пункт я добавлял копоненту "Редактор контента" и вставлял туда код.

    Как мне быть в моем случае?

    19 июня 2017 г. 8:03
  • Рекомендую проверить ваши права на сайт/список )
    19 июня 2017 г. 8:10
  • Уже проверил, да и я админ фермы и всего портала.

    Думаю что тут какой то кастом есть на этом списке. Потому как если я открываю форму на редактирование, то я в заголовке вижу не EditForm.aspx а NewPaymentRequest.aspx

    19 июня 2017 г. 8:21
  • Кажется нашел фрагмент кода в файле NewPaymentRequest.aspx.cs

    SPQuery pQuery = new SPQuery {Query = @"<Where>
    <Eq>
    <FieldRef Name='PurchaseRequest' />
    <Value Type='LookupMulti'>" + _purchaseRequest["Title"] + @"</Value>
    </Eq>
    </Where>", ViewFields = "<FieldRef Name='Title' /><FieldRef Name='Sum' />"};
    
    Мне открыть второй тег <Eq> или в существующем <Eq>..</Eq>вставить <FieldRef...> и <Value ...> ?

    19 июня 2017 г. 8:37
  • Кажется нашел фрагмент кода в файле NewPaymentRequest.aspx.cs

    SPQuery pQuery = new SPQuery {Query = @"<Where>
    <Eq>
    <FieldRef Name='PurchaseRequest' />
    <Value Type='LookupMulti'>" + _purchaseRequest["Title"] + @"</Value>
    </Eq>
    </Where>", ViewFields = "<FieldRef Name='Title' /><FieldRef Name='Sum' />"};
    Мне открыть второй тег <Eq> или в существующем <Eq>..</Eq>вставить <FieldRef...> и <Value ...> ?

    А вы точно уверены, что это тот код? Если да, то нужно написать так:

    '<Query><Where><And><Eq><FieldRef Name="PurchaseRequest" /><Value Type="LookupMulti">' + _purchaseRequest["Title"] + '</Value></Eq><Eq><FieldRef Name="Status" /><Value Type="Text">Утвердить</Value></Eq></And></Where></Query>'

    CAML Query tutorial for SharePoint



    19 июня 2017 г. 8:52
  • Михаил, спасибо за ответ! Сейчас попробую сделать!
    19 июня 2017 г. 9:26
  • Попробовал.

    Когда захожу на форму создания элемента, внизу красным пишется ошибка:

    Microsoft.SharePoint.SPException: Один или несколько типов полей установлены неправильно. Перейдите на страницу параметров списка и удалите эти поля. ---> 

    Сильно подозреваю, что я действительно указал неверно тип.

    Ведь у меня по сути поле Status это не просто Text - это менюха с вариантами выбора.

    Тогда скорее всего вот здесь:

    <Eq><FieldRef Name='Status'/><Value Type='Text'>Утверждён</Value></Eq>
    Value Type = '...' что-то другое. Может 'Select'?

    19 июня 2017 г. 10:35
  • Только что тестировал, не увидел никаких ошибок, столбцы с фильтрами по значениям типа: Single line of text, Choice, Lookup:

    <Eq><FieldRef Name='Status'/><Value Type='Text'>Утверждён</Value></Eq>

    Типы в CAMLQuery:

    • Text
    • Number
    • DateTime
    • Guid
    • MultiChoice
    • Lookup


    19 июня 2017 г. 11:34
  • Т.е. я правильно понимаю, что если даже тип поля "Выбор" т.е. менюшка с вбитыми пунктами меню - всё равно указываем

    <Eq><FieldRef Name='Status'/><Value Type='Text'>Утверждён</Value></Eq> ?

    19 июня 2017 г. 11:40
  • Т.е. я правильно понимаю, что если даже тип поля "Выбор" т.е. менюшка с вбитыми пунктами меню - всё равно указываем

    <Eq><FieldRef Name='Status'/><Value Type='Text'>Утверждён</Value></Eq> ?


    Да, совершенно верно. В запросе все поля приводятся к типу Text.

    MS,MCTS,MCP,MCPD: SharePoint Developer 2010

    20 июня 2017 г. 8:47
  • Спасибо!
    20 июня 2017 г. 11:25
  • Я использую прекрасную разработку "SharePoint 2013 Advanced Lookup".
    После установки wsp-пакета, появляется еще один тип столбца, в котором можно и фильтры накладывать и еще много чего делать.

    Всем рекомендую.



    • Изменено KruS-68 26 июня 2017 г. 9:53
    26 июня 2017 г. 7:59