Форум: "Базы";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
ВнизПодкинте идею Найти похожие ветки
← →
кораблик (2006-03-10 12:58) [0]На форме находяться два компонента DBGrid, а так же две кнопки добавить и удалить. Верхний DBGrid связан с компонентом ADOQury соответствено отображаються выбраные данные из него, нижний DBGrid связан с компонентом RxMemoryData, для временого хранения данных . При нажатии кнопки добавить из верхней таблицы строка копируеться в нижнюю то есть в RxMemoryData, а при нажатии удалить удаляеться. Как сделать так что бы при копировании строки- эта строка исчезала (но не удалялась) в верхней талицы, то есть просто не отображалась, а при удалении из нижней таблицы снова появлялась в верхней.
← →
Ormada © (2006-03-10 13:03) [1]ну накладывай фильтр на верхнюю
а может перести квери в режим кэширования и удаляй потом на здоровье-главное не комитить потом
← →
Sergey13 © (2006-03-10 13:05) [2]2кораблик (10.03.06 12:58)
А конечный смысл у этих телодвижений какой?
Может лучше выкинуть RxMemoryData, добавить в ADOQury фиктивное поле и рисовать в нем галочу выбора?
← →
кораблик (2006-03-10 13:06) [3]ну накладывай фильтр на верхнюю
----------------------------------
Думал об этом, а если строка фильтра будет слишком большой ?
а может перести квери в режим кэширования и удаляй потом на здоровье-главное не комитить потом
-----------
а это как можно поподробнее
← →
Ormada © (2006-03-10 13:06) [4]или исчо лучше сделать 2 квери в режиме кэширования!
← →
кораблик (2006-03-10 13:09) [5]А конечный смысл у этих телодвижений какой?
-----------------------------------------------
Потом эти данные из нижней таблицы записваться в другую таблицу на сервере
← →
Плохиш © (2006-03-10 13:11) [6]Можно использовать событие OnFilterRecord
← →
кораблик (2006-03-10 13:51) [7]Может лучше выкинуть RxMemoryData, добавить в ADOQury фиктивное поле и рисовать в нем галочу выбора?
------------------------------------------------------------
Если вторую таблицу выкинуть то не удобно будет. А на счёт фиктивного поля, можно к примеру добавить его, а потом по нему фильтровать. Только как его сделать, фиктивное поле, не знаю и как с ним работать(
← →
Sergey13 © (2006-03-10 13:55) [8]2[7] кораблик (10.03.06 13:51)
>Если вторую таблицу выкинуть то не удобно будет.
Почему это?
>Только как его сделать, фиктивное поле
Select f1,f2,f3, 1 as f4 from table
например. Или вроде того.
← →
Ormada © (2006-03-10 13:55) [9]LockType=ltBatchOptimistic
← →
msguns © (2006-03-10 13:58) [10]>кораблик (10.03.06 13:09) [5]
>Потом эти данные из нижней таблицы записваться в другую таблицу на сервере
Как вариант:
При открытии таблицы создать список (TList) указателей на записи, состоящие из 2-х полей: ID и Flag, куда записать все идент-ры датасета, флажок = фалс
При "клацании" на гриде ID текущей записи ищется в списке и флажок "переворачивается".
В событии OnDrawColumnCell искать ID рисуемой записи в списке и, если найден, то красить фон другим цветом.
Для "красивости" можно рядышком поместить стрингрид, "сделанный под грид", где рисовать выбранные (флаг=тру) записи. Записи в этот стрингрид добавлять (удалять) по "клацу" в гриде (вместе с обработкой списка)
Внешне будет выглядеть так:
Отобранные записи будут видны в гриде выделенными цветом, они же рядышком показаны в стрингриде.
← →
msguns © (2006-03-10 14:00) [11]Извиняюсь. В список писать только выбоанные записи
Переклинило ;)
← →
msguns © (2006-03-10 14:00) [12]И флажок не нужен ;))
← →
кораблик (2006-03-10 14:12) [13]2[7] кораблик (10.03.06 13:51)
>Если вторую таблицу выкинуть то не удобно будет.
Почему это?
-----
Потому что прога работает следущиим образом: выбираються данные в верхнюю таблицу на основании введёных параметров, потом пользователем в нижнюю таблицу выбираються нужные строчки, потом вводяться другие параметры и снова происходит выборка в верхнюю таблицу, пользватель опять копирует нужные строчки, а данные которые были скопированы в нижнюю таблицу остаються с преведущей выборки, плюс добавляються новыми, и так далее пока пользователь не нажал кнопку сохранить, после этого все данные из нижней таблицы, копируються в таблицу на сервере. Вобще цель исключить попадание повторяющихся строк в нижней таблице и что бы польхователь вобще их не видел в верхней, для удобства.
← →
msguns © (2006-03-10 14:22) [14]>кораблик (10.03.06 14:12) [13]
Юзай TClientDataSet. Для такого случая самых подходящий парень
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c