Получить Control / выбрать значение с XPath в SharePoint - PullRequest
0 голосов
/ 11 октября 2010

Форма заполняется из списка, и мне нужно отфильтровать. У меня есть таблица со столбцом даты, и я хотел бы отображать только строки нужного месяца. Для этого я использовал фильтрацию XPath:

[((ddwrt:FormatDateTime(string(@MyDateColumn) ,1061 ,'MM'))=02)]

Это дает мне результаты за февраль, все в порядке. Теперь я пытаюсь сделать месяц выбираемым с помощью выпадающего списка:

<asp:DropDownList runat="server" id="DropDownList1">
        <asp:ListItem Selected="True" Value="01">January
        </asp:ListItem>
        <asp:ListItem Value="02">February</asp:ListItem>
    </asp:DropDownList>

Выпадающий список также может быть обычным выбором HTML, если это поможет, разницы нет. Но как я могу получить выбранное значение select с XPath?

Попытка достичь этого с помощью XPath, поскольку «обычная» фильтрация SharePoint позволяет выполнять фильтрацию только по полной дате, а не по дню, месяцу или году отдельно.

Ответы [ 2 ]

0 голосов
/ 12 октября 2010

Ах, отлично, мой длинный ответ и ошибка соединения! На этот раз короче:

Я просто хотел отфильтровать строки формы / таблицы по месяцам. Для этого я создал ASP.NET Control DropDownList:

<asp:DropDownList runat="server" id="DropDownList1" AutoPostBack="True">
        <asp:ListItem Value="01">January</asp:ListItem>
        <asp:ListItem Value="02">February</asp:ListItem>
        <asp:ListItem Value="03">March</asp:ListItem>

    </asp:DropDownList>

Теперь, чтобы отфильтровать мой DataFormWebPart по столбцу даты, я сначала создал параметр. Параметр может быть легко создан при выборе Фильтр для формы и в столбце Значение при выборе Создать новый параметр ... . Просто создал параметр MyParameter из Controls: DropDownList1. Теперь этот параметр можно использовать при фильтрации XPath:

[((ddwrt:FormatDateTime(string(@MyDateColumn) ,1061 ,'MM'))=$MyParameter)] 
0 голосов
/ 11 октября 2010

Если у вас есть этот документ XML (текст ASP в вопросе не является правильно сформированным XML):

<select>
    <option selected="selected" value="1">January</option>
    <option value="2">February</option>
    <option value="3">March</option>
    <option value="4">April</option>
    <option value="5">May</option>
    <option value="6">June</option>
    <option value="7">July</option>
    <option value="8">August</option>
    <option value="9">September</option>
    <option value="10">October</option>
    <option value="11">November</option>
    <option value="12">December</option>
</select>

и выделение $m, затем это выражение XPath :

/*/*[@value=$m]/text()

выбирает нужный текстовый узел , который соответствует $m.

Выражение XPath выше гласит:

Выберите все текстовые узлы, которые являются дочерними элементами любого элемента, атрибут value которого равен значению $m и является дочерним элементом верхнего элемента документа. Например:

/*/*[@value=7]/text()

выделяет текстовый узел

"July"

и

/*/*[.=$v]/@value

например:

/*/*[.='July']/@value

выбирает атрибут value, равный 7.

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