Множественный Выбор это механизм, который позволяет быстро создавать и эффективно использовать конечные множества объектов заданного типа. Основной задачей, в которой востребован Множественный Выбор, это использование Выборок для фильтрации данных любых объёмов с высоким быстродействием.

Рассмотрим простой абстрактный пример. Допустим, у нас есть 3 множества объектов: А, B и С значительного объема (более 1000000 ед.).  Каждый объект из множества А имеет ссылку на объект из множества B и ссылку на объект из С.

Далее, пусть в множествах B и С определены некоторые ограниченные подмножества B' и C'. Задача заключается в том, чтобы отфильтровать только те элементы множества A, которые содержат одновременно ссылки на объекты из множеств B' и C'.

В примере далее будет проиллюстрировано, как механизм Множественного Выбора позволяет быстро и гибко решить такую задачу в XAF приложении. Каждое подмножество (Выборка) описывается с помощью объекта типа ObjectSet<T>, называемого Объектом Выбора. Эти объекты, с одной стороны предоставляют готовые механизмы редактирования Выборки, а с другой стороны строят высокопроизводительные запросы на основании Выборки. Вы можете строить, редактировать и хранить любое количество фильтров, основанных на различных Выборках.

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

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

Чтобы узнать больше о функциональности Множественного Выбора, обратитесь к следующим разделам:

Reference