Страница 1 из 1

Добавлено: 23 Ноябрь 2004, 12:30
Гость
Собстенно надо сделать субж. Как это делать? Я видел в свойствах броуза разднл "поддержка множественного выбора...", вот только так как там написано я сделать не смог. Это что, из-за "неправильных" шаблонов?
Главное, мне вовсе непонятно, как работать с этой самой выборкой потом.

PS. Народ, я на кларионе особо не программлю, но есть необходимость поддержки прог. Знания в нем мои невелики, поэтому прошу отвечать как для чайника :)

Добавлено: 23 Ноябрь 2004, 13:41
Гость
Привет !

На самом деле вариантов множественного выбора может
быть несколько (стандартный мне не нравится, т.к. он не управляем).

Хороший и не сложный вариант, будет работать с любыми видами
списков (драйверами БД) и не зависит от типа шаблонов.
Постараюсь писать без "наворотов":

1. В списке (файле), который просматривается в BROWSE, должен
быть уникальный ключ (индекс) - иначе невозможно будет
идентифицировать запись. Предположим есть уникальный номер
с типом данных LONG.

2. Заводим очередь с одним полем типа LONG.

3. Делаем кнопку (или по AlertKey вешаем на Browse событие по
нажатию клавиши, например ПРОБЕЛ) в котором для текущей
записи проверяем есть ли ее номер в очереди. Если нет - добавляем.
Если есть - удаляем. Т.е. пользователь нажимая кнопку (или
пробел) включает или исключает запись из списка в набор.
После выполнения операции - не забываем обновлять список.

4. В списке записи Browse для которых есть записи в очереди можно
подсвечивать иконкой или стилем, что бы было видно какие записи
в списке выбраны.

5. Можно сделать кнопку общего сброса - в ней обнуляется очередь
и обновляется список.

6. Теперь если нужно сделать групповую обработку - "прокручиваем"
очередь и по уникальным номерам вытаскиваем записи из файла.
И для них выполняем необходимую операцию. Например - печать
всех карточек для отмеченных в Browse записей и т.д.
После выполнения операции для группы записей можно сбросить
очередь, а можно оставить - для повтора операции или выполнения
другой операции по группе отмеченных записей ... и т.д.

7. Все. :)

С уважением, ТАТА