Здравствуйте. Создал новый воркспейс, на нем отображается грид, в который выводятся данный из таблицы. В другом фрейме имеется лукапдатаконтрол и , в который выводятся данные, доступные для фильтрации и чекбокс, который активирует фильтр, также имеется кнопка "Применить". Вопрос в том, как пошагово реализовать работу фильтра и где подсмотреть понятную работу скрипта. В гриде выведены ID и Имя. Фильтрация по имени. Т.е. например, при параметре фильтра "Илья" должны вывестись ID всех записей с именем "Илья". Зараннее спасибо.

Нравится

2 комментария

Здравствуйте.

Подобное реализовано в базовой версии. Созданы чекбокс и лукап. При нажатии на чекбокс происходит обновление рабочего места, при изменении значении в лукапе, если чекбокс нажат, происходит обновление рабочего места. При обновлении рабочего места происходит закрытие/открытие набора данных. На событии "перед открытием набора данных" происходит фильтрация набора данных по значению лукапа.
Это алгоритм. Пример можно посмотреть в сервисах wnd_TasksWorkspace и scr_TasksWorkspace. Функции ApplyContactFilter (применение фильтра), dlTasksOnDatasetBeforeOpen (обработчик события перед открытием набора данных), edtTaskOwnerOnChange (обработчик события изменения лукапа), chbShowForContactOnClick (обработчик события нажатия чекбокса), RefreshTasks (обновление рабочего места).

Алгоритм предельно понятен, спасибо. Теперь попробуем реализацию на практике:)

Показать все комментарии