Недавно появилась необходимость ответить на простой вопрос: Как отсортировать список по дате с определенного числа, которое можно ввести из строки запроса (querystring). Расскажу как это сделать:
Первым делом необходимо объявить переменную в ParameterBinding, как переменную из querystring. Это можно сделать через Sharepoint Designer кнопка параметры или добавить вручную:
><ParameterBindings>
...
<ParameterBinding Name="Param1" Location="QueryString(dt)" DefaultValue="2000-01-01"/>
...
</ParameterBindings>
Данный параметр будет доступен для использования в программном коде. Чтобы вывести сортировку в зависимости от даты добавим следующий код запроса на CALM.
<Query>
<Where>
<Gt>
<FieldRef Name="PublishedDate"/>
<Value IncludeTimeValue="TRUE" Type="DateTime">
{Param1}T00:00:00Z
</Value>
</Gt>
</Where>
<OrderBy>
<FieldRef Name="PublishedDate" Ascending="FALSE"/>
<FieldRef Name="ID" Ascending="FALSE"/>
</OrderBy>
</Query>