Получение данных представления
Другой важной задачей при работе с представлениями является получение конкретной выборки данных на основании предварительно подготовленного (программно или через пользовательский интерфейс) описания представления.
Чтобы получить данные представления, необходимо воспользоваться методом CardManager.GetViewData
.
Пример получения данных системного представления Дайджест, примененного к конкретной папке:
const string FOLDER_ID = "5929489F-3CC0-4B48-A032-9CCE7F9674CF";
InfoRowCollection viewdata = session.CardManager.GetViewData(ViewSource.FromFolder(new Guid(FOLDER_ID)));
Пример получения данных представления по XML-описанию на основании результатов сформированного поискового запроса:
SearchQuery query = session.CreateSearchQuery(); (1)
ViewSource source = ViewSource.FromSearch(query.GetXml(true, null));
InfoRowCollection viewData = session.CardManager.GetViewData(source, view.GetXml()); (2)
1 | Формирование поискового запроса. |
2 | Получение данных представления. |
Метод возвращает InfoRowCollection
— набор строк, соответствующий результатам запроса. Возможность его сортировки в объектной модели не предусмотрена, то есть сортировать его можно только внешними средствами.