Фильтрация DVWP с помощью xslt с параметром из подключенного LVWP в Sharepoint Designer

Моя настройка выглядит следующим образом: пользовательская страница на сайте Sharepoint 2010 с веб-частью представления списка и веб-частью представления данных. Когда я выбираю элемент в LVWP, я хочу отфильтровать DVWP с помощью значения поля множественного поиска. Итак, я подключился к двум веб-частям, так что DVWP получает параметр от LVWP. Я фильтрую DVWP следующим образом:

<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[contains($pDataAftaleID,concat(@ID,';#',@ID))]"/>

где pDataAftaleID — параметр из LVWP.

Моя проблема: все работает хорошо, если выбранный элемент из LVWP имеет значение в поле параметра, но если это не так, Sharepoint, похоже, не записывает нулевое/пустое или нулевое значение в параметр и параметр фильтра сохраняет значение из последнего выбранного элемента в LVWP со значением, и поэтому DVWP показывает элементы из какого-то предыдущего выбранного элемента, а не «нет элементов для отображения».

Можно ли как-то принудительно записать пустое поле, или можно параметр каждый раз при загрузке DVWP ставить в ноль? Какие-либо предложения?


person iljitj    schedule 22.10.2012    source источник


Ответы (1)


<xsl:variable name="Rows">
  <xsl:choose>
    <xsl:when test="/dsQueryResponse/Rows/Row[contains($pDataAftaleID,concat(@ID,';#',@ID))]">
       <xsl:text>/dsQueryResponse/Rows/Row[contains($pDataAftaleID,concat(@ID,';#',@ID))]</xsl:text>
    </xsl:when>
    <xsl:otherwise>
       <xsl:text>0</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:variable>

Пожалуйста, проверьте, работает ли это или его вариант для вас.

person SlackerAmit    schedule 19.02.2016