Форум: "Базы";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизВопрос по DBGrid-у Помогите пожалуйста. Найти похожие ветки
← →
BGladiator (2003-09-15 18:32) [0]Здравствуйте. Вот в чём проблема: есть DBGrid - в нём несколько колонок, указан некоторый DataSource откуда и берутся данные. При печати печатаются все строки этого DBGrida. Мне же нужно чтобы печатались лишь выбранные. Для этого в запросе, который использ. для этого DBGrida я добавил ещё одно поле SELECTION - соответственно и втаблицу БД откуда выбираются данные тоже пришлось добавить такое же поле, в котором ничего не содержится (" "). Теперь при нажатии пробела сделал обработчик, который заносит в это поле произвольную метку ("X"). Теперь при печати печатаются только те строки в которых поле SELECTION имеет метку ("X").
Всё бы хорошо да только вот установка этих меток (особенно для нескольких строк) происходит слишком медленно. И ещё было проверено что во время установки этих меток, которые служат всего лишь для печати происходит UPDATE таблици в БД. Из-за чего при работе нескольких пользователей возникают блокировки.
Если кто-то знает как можно реализовать эти метки для печати проще пожалуйста подскажите. Если можно по подробнее, потому что перепробовал много вариантов - не выходит.
Заранее спасибо.
← →
Without Any ... (2003-09-15 18:46) [1]По какому признаку выбираются строки для печати? Естественнее было бы правильно организовать Select или Filter. Иначе все остальное надумано.
← →
BGladiator (2003-09-15 19:03) [2]Строки выбираются через Filter по полю SELECTION:
Filter := "SELECTION ="+"""X""";
← →
MsGuns (2003-09-15 20:14) [3]А само это поле (SELECTION) нельзя "формировать" в событии OnFilterRecord ?
Если же вс-таки признак должен существовать как поле, используйте клиентский НД - там нет вообще ограничений.
← →
BGladiator (2003-09-15 20:20) [4]MsGuns что за клиентский НД. Можно по подробнее, потому что опыт программирования на Delphi у меня небольшой.
Заранее спасибо.
← →
MsGuns (2003-09-15 20:28) [5]Суть TClientDataSet (закладка DataAccess) в том, чтобы оторвать обработку и хранение данных. Другими словами, ты с помощью провайдера забираешь себе на клиента любые данные из базы, делаешь с ними что хочешь (в том числе дополняешь любыми "своими" виртуальными полями) и при этом иллюзия того, что ты работаешь с "нормальной" таблицей - т.е. тебе доступны все датасетские методы и события. Подробнее - читай сам. Честно говоря, в твоем случае я бы обошелся вообще без выкрутасов, но познание этого способа даст тебе универсальный инструмент в дальнейшем.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c