Страница 1 из 1
Выбор записей в списке ...
Добавлено: 17 Сентябрь 2008, 13:24
Игорь Столяров
Привет всем !
Среда C63 ABC
Есть простая задача: нужно выбрать в списке (BROWSE) некоторое, произвольное, кол-во записей для дальнейшей обработки ... ну например для удаления или отметки. Как можно наиболее просто это реализовать в стандартном BROWSE ? Что-то вроде как выбираются строки в MS Excel - нажили клавишу мышки прокрутили записи и бросили кнопку. Получился выбранный диапазон строк ... По идее, нечто вроде этого должен реализовывать стандартный аттрибут MARK для BROWSE - но он работает как-то не очень адекватно ... Есть ли еще идеи и варианты ?
Заранее спасибо !
Re: Выбор записей в списке ...
Добавлено: 17 Сентябрь 2008, 15:16
StillZero
да много всяких разных идей
берем очередь делаем с одним полем ID
нажали на записи, в очередь записали ID записи
еще раз нажали, удалили из очереди
эту очередь гетаешь при отображении записей в браузе
если есть запись, то красишь или иконку выводишь
но по части выделения, самый просто вариант это двойной клик
а эти все с SHIFT-ом и Ctrl-ом на первый взгляд как то непросто реализуются, но тут могу ошибаться
Re: Выбор записей в списке ...
Добавлено: 17 Сентябрь 2008, 15:51
WadimZapara
Верно. В стандарте нету. Ручками делать
Re: Выбор записей в списке ...
Добавлено: 17 Сентябрь 2008, 16:05
Игорь Столяров
Ммммм.... Я наверно неправильно раставил акценты в вопросе. Уточнюсь ...
Как выделить и показать выделение записи в BROWSE через очередь - проблем нет, юзаю много лет.
Но это однократное действие для выделение одной записи (двойной клик мшой, нажатие пробел и т.д.)
Здесь вопрос в следующем: как выделить в списке сразу несколько записей ? И лучше с прокруткой списка.
Ну так как это делается в MS Excel, например: Указали запись с которой начать (нажав кнопку мышки),
прокрутили список и указали запись которой заканчивается диапазон (бросив кнопку мышки).
И это в общем-то станадарная процедура, которая юзерам понятна изначально - также выделяется список файлов
в проводнике и т.д. Просто непонятно как это можно реализовать в BROWSE Clarion'а ....
Я абсолютно не против ручного кодирования - но объясните хотя бы идею реализации такого выделения записей ...
Проблемы возникают сразу, например при нажатой кнопке мышки список BROWSE вообще не прокручивается ...

Re: Выбор записей в списке ...
Добавлено: 17 Сентябрь 2008, 21:30
Дед Пахом
стандартный способ - это ткнул запись (и отпустил мышь) - начало выделения, ткнул другую с зажатым шифтом - конец выделения (диапазон), ткнул 3-ю с зажатым контролом - добавление (или удаление) записи к списку выделенных. Но, как уже отмечалось,
а эти все с SHIFT-ом и Ctrl-ом на первый взгляд как то непросто реализуются
Re: Выбор записей в списке ...
Добавлено: 17 Сентябрь 2008, 21:57
Игорь Столяров
Уф ... Не так все просто на самом деле ...
"Ткнул в начало диапазона - ткнул в конце диапазона" - это работает для элементарного
списка ... А если в нем несколько закладок с различной сортировкой и фильтрацией, да еще сортировка списка по шапке колонок ... ? В этом случае выбрать диапазон записей достаточно проблематично-с ... Нашел вроде бы рабочий пример, похожий на то что искал (1998 г. для C4) - если получится использовать ... напишу !
Re: Выбор записей в списке ...
Добавлено: 10 Октябрь 2008, 10:46
Anatoly
В Clarion Dos заводил флаг состояния строки. Этот флаг принимал различные значения в зависимости от того, какая предварительно клавиша была нажата - удалить списком, провести спецобработку выбранных строк, покрасить их или еще, что другое хотите с ними сделать. Этот способ позволял выделять строки не только рядом стоящие, но и выборочно по всему Browse