Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Подкинте идею   Найти похожие ветки 

 
кораблик   (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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.039 c
15-1144385959
Ega23
2006-04-07 08:59
2006.04.30
С Днём рождения! 7 апреля


2-1144836032
Neo Trinitron
2006-04-12 14:00
2006.04.30
Перетаскивание узлов в TTreeView


8-1133197948
Doryk
2005-11-28 20:12
2006.04.30
Кто занет как оанализировать виде с WEB


2-1144999965
elfebet
2006-04-14 11:32
2006.04.30
Прочитать файл из интернета


2-1144989813
alk
2006-04-14 08:43
2006.04.30
работа с ini файлом