Фильтруя WebPart, где номер клиента = текущее имя библиотеки документов

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/3257

  •  16-10-2019
  •  | 
  •  

Вопрос

У меня есть страница веб -части в библиотеке документов (http://mysitecoll.com/subsite1/cust001/cust001.aspx)

  1. Я добавил веб -часть для отображения списка с верхнего уровня.
  2. Он работает и отображает все элементы в списке.
  3. Тем не менее, мне нужно только отображать элементы, где CustomerNumber = DocumentLibrary, так что в этом примере это будет (Customer Number = CUST001) или любые текущие пользователь библиотеки документов.

Надеюсь, это имеет смысл.

Список должен отображать только элементы, где номер клиента = текущее имя библиотеки документов

================== Дополнительные данные добавлены =====================

Лори, вот подробности

  1. Верхний сайт имеет список «Список клиентов», содержащий имя, адрес, телефон, телефон и т. Д.

  2. У каждого клиента есть собственная библиотека документов под http: // url/sitecollection/customerweb/

  3. Мне нужно добавить страницы веб -деталей для каждой из этих библиотек документов (программатически) (библиотека документов для клиента 222 выглядит так http: // url/sitecoll/custweb/customer222)

  4. Страница веб -части, которую мне нужно добавить в библиотеку документов, будет 2 веб -частях. а Первая веб -части отображает список с верхнего сайта (список клиентов), но мне нужно отфильтровать его, чтобы отображать только клиент. Например, я нахожусь в библиотеке модных документов Ann, а номер клиента этого клиента - 222, поэтому их название библиотеки документов - «Customer222». Столбец в списке клиентов «номер клиента» должен быть таким же, как название библиотеки документов или имя, как единственное совпадение.

Надеюсь, сейчас ясно.

Это было полезно?

Решение

Все ли ваши библиотеки для разных клиентов? Вы на самом деле пытаетесь отобразить другую библиотеку или список в зависимости от пользователя? Или вы говорите, что добавите эту веб -часть ко всем страницам .aspx просмотров библиотеки, чтобы список был фильтровать библиотеку? Я немного смущен, хотите ли вы, чтобы библиотека изменилась на основе клиента или списка, чтобы измениться, и вы поместите ее на каждую страницу библиотеки.

Спасибо за ваши обновления. Я бы добавил фильтр на страницу, используя 2 вещи. Я был бы JavaScript или JQUERY в CEWP, который будет анализировать номер клиента с URL, вы, вероятно, могли бы использовать SubstringFore и SubstringAfter, чтобы получить это, а затем поместить это значение в текстовый фильтр на странице. Затем вы можете применить этот фильтр к веб -части списка на вашей странице.

Еще один вариант, который может быть проще, - это преобразовать веб -часть списка в представление данных XSLT, а затем перейти в Designer SharePoint и создать параметр, который будет подстроением, и автоматически применить этот фильтр.

Первый вариант предоставит пользователю возможность изменить фильтр, если это необходимо, второй - нет.

Другие советы

  1. http://msdn.microsoft.com/en-us/library/dd583143(Office.11).aspx

  2. Добавьте эти две строки

<xsl:variable name="DocLibName" select="substring-before(substring-after($PageUrl, '/Forms/'), '/')" />

<xsl:param name="PageUrl"/>

  1. Установить ViewFlag = 1 (это должно быть в Windows Properties)

  2. Найдите эту строку и измените, если вы хотите отфильтровать список веб -частей

<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row" />

Изменить это на следующее

<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[(@customerNumber=$DocLibName)]"/>

Вы можете использовать это для отображения

<xsl:value-of select="$DocLibName"> <br/>

<xsl:value-of select="$PageUrl"/><br/>

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top