Группировка контролов
<< Click to Display Table of Contents >> Разработка > Элементы разработки > Настройка панели фильтрации > Рекомендации по настройке панели фильтрации Группировка контролов |
Для панелей фильтрации рекомендуется использовать стандартную группировку контролов:
•в верхней части размещайте фильтры по состоянию или по типам сущностей списка;
•в нижней части размещайте фильтры по датам;
•в средней части размещайте остальные контролы, при этом самые важные – сверху.
На панели размещайте только часто используемые фильтры, чтобы не появлялась вертикальная полоса прокрутки.
Располагайте однотипные элементы панели фильтрации одинаково. Например, в списках входящих и исходящих документов есть группа для фильтрации по интервалу времени. В этом случае группа должна выглядеть однотипно и находиться в одном и том же месте панели фильтрации в обоих списках.
При написании обработчика фильтрации объединяйте группы между собой по логическому условию «И», т.е. складывайте условия. Например, наложение фильтров используется в списке «Входящие счета»:
// Фильтрация по состояниям.
if ((_filter.Draft || _filter.OnApproval || _filter.PayAccepted || _filter.PayRejected) &&
!(_filter.Draft && _filter.OnApproval && _filter.PayAccepted && _filter.PayRejected))
...
// Фильтрация по группе "Основные" накладывается к предыдущим фильтрам.
if (_filter.Counterparty != null)
query = query.Where(x => Equals(x.Counterparty, _filter.Counterparty));
...
// Фильтрация по датам накладывается к предыдущим фильтрам.
if (_filter.Last7daysInvoice)
query = query.Where(c => (c.Date ?? c.Created) >= Calendar.Today.AddDays(-7));
© Компания Directum, 2024 |