Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.011 c
8-1133955905
BBCHa
2005-12-07 14:45
2006.04.30
Анализ и разбор Wavа


15-1144529218
Petr V. Abramov
2006-04-09 00:46
2006.04.30
Что? Где? Когда? 2006


2-1145082835
Mozart
2006-04-15 10:33
2006.04.30
не могу отправить e-mail :(


15-1144300895
kaif
2006-04-06 09:21
2006.04.30
Пирамиды. Сколько их?


2-1144938342
Anubis
2006-04-13 18:25
2006.04.30
Создание Кнопки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский