пятница, 10 июня 2011 г.

Консольные приложения (11): Сортировка элементов

В сортировке элементов данных в дереве консольного приложения нет ничего сложного. Вам следует указать поле, по которому сортировать элементы и порядок сортировки: возрастающий или убывающий.

Сортировка указывается при помощи XML-элемента  <OrderBy></OrderBy>. Этот XML-элемент вкладывается в XML-элемент <DataElements></DataElements> и только в него, и, таким образом, сортирует элементы указанного типа.

Внутри этого XML-элемента добавляется элемент <Field></Field>.

В его обязательном атрибуте FieldName указывается имя поля, по которому нужно сортировать элементы данного типа. В необяхательном атрибуте Direction указывается порядок сортировки: ascending (восходящий, возрастающий) и descending (нисходящий, убывающий).



Рассмотрим примеры из пакета Блог. Записи блога сортируются по полю даты (Date) в возрастающем порядке.

<DataElements Type="Composite.Community.Blog.Entries" Label="${C1:Data:Composite.Community.Blog.Entries:Title}" Display="Auto">
  <!-- остальной XML -->
  <OrderBy>
    <Field FieldName="Date" Direction="ascending"></Field>
  </OrderBy>
  <!-- остальной XML -->
</DataElements>

Комментарии к каждой записи сортируются то же по своему полю даты (Date) , но уже в убывающем порядке.

 <DataElements Type="Composite.Community.Blog.Comments" Label="${C1:Data:Composite.Community.Blog.Comments:Title}" Display="Compact">
  <!-- остальной XML -->
  <OrderBy>
    <Field FieldName="Date" Direction="descending"></Field>
  </OrderBy>
</DataElements>

Нужно заметить, что сортировку можно выполнять только над элементами данных, представляемых DataElements. В DataElements можно добавлять только один OrderBy, а вот количество Field - не ограничено.

(продолжение следует...)

Комментариев нет:

Отправить комментарий