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

Вниз

Выбор значений в gride ?   Найти похожие ветки 

 
kirov_igor ©   (2003-12-30 00:38) [0]

Вопрос такой есть таблица со значениями
pole1 pole2 pole3
123 123 222
344 233 234
2 3 4
хочется пометить запись 1 и 3 и добавить в другую таблицу(конечно необходимо учесть , что при следующем выборе данных, оставались какие либо пометки, которые показывали, что запись перенесена, добавлена в другой тэйбл), каким образом это обрисовать это дело - помогите !!!


 
Ильш ©   (2003-12-30 06:21) [1]

Как понимать Ваше "хочется пометить"? Грид кстати тут вообще ни при чем. Грижд отображает данные, но ничего с ними не делает.
Решение: щелк на запись 1, щелк на кнопку "Перенести"... с записью 3 тоже самое. А потом составляешь запрос в котором как раз и скрещиваешь две таблицы и выясняешь какие записи совпадают. Получив результат бежишь с ним к мистеру Гриду и у него уже обрабатываешь OnDrawCell или что-то типа в этом роде.


 
Andriano   (2003-12-30 08:42) [2]

Не знаю как DBGrid-е, но в DBGrideEh можно выделять несколько записей (хоть подряд, хоть в разброс). Потом пробежаться по ним (не помню как; когда мне это нужно помню, потом опять не помню) и сделать любые действия с записями в DataSet.

Так что тут вопрос: Какие действия? А это как фантазия работает и каким DataSet-ом пользуешься.

Например в FIB-ах можно работать с внутр. буфером TpFIBDataSet напрямую и т.д.


 
Sergey13 ©   (2003-12-30 09:09) [3]

2kirov_igor © (30.12.03 00:38)
>конечно необходимо учесть , что при следующем выборе данных, оставались какие либо пометки, которые показывали

Так заведи какое нить спец. поле, где будешь хранить признак сделанной операции. Теоретически наверное более прав Ильш © (30.12.03 06:21) [1], но мой вариант проще. Если его еще повесить на тригер/ХП (какая БД?) - вааще хорошо.


 
kirov_igor ©   (2003-12-30 23:53) [4]

...."Грижд отображает данные, но ничего с ними не делает. "...
речь о гриде не шла, вопрос поставлен иначе, ясное дело , что грид отображает значения, но ...." котором как раз и скрещиваешь две таблицы и выясняешь какие записи совпадают." Тут речь не шла о выборе данных из двух таблиц :) Хочется понять механизм, понятно: пишем обработчик на OnDrawColumnCell ,но каким образом мы отмечаем , что записи перемещены в другой тэйбл ???? Т.есть в тэйбле1 должены стоять символ , ну а в тэйбле2 те записи , которые пернесены . Вот неясно, каким образом мы показываем, что помеченные записи уже добавлены (((


 
kirov_igor ©   (2003-12-30 23:53) [5]

...."Грижд отображает данные, но ничего с ними не делает. "...
речь о гриде не шла, вопрос поставлен иначе, ясное дело , что грид отображает значения, но ...." котором как раз и скрещиваешь две таблицы и выясняешь какие записи совпадают." Тут речь не шла о выборе данных из двух таблиц :) Хочется понять механизм, понятно: пишем обработчик на OnDrawColumnCell ,но каким образом мы отмечаем , что записи перемещены в другой тэйбл ???? Т.есть в тэйбле1 должены стоять символ , ну а в тэйбле2 те записи , которые пернесены . Вот неясно, каким образом мы показываем, что помеченные записи уже добавлены (((


 
Ильш ©   (2003-12-31 06:17) [6]

Ну как как?
Для примера создаем таблички:
CREATE TABLE TBL1
(
ID NUMERIC(9,0),
NAME CHAR(9),
KOL NUMERIC(9,0)
)
CREATE TABLE TBL2
(
ID NUMERIC(9,0),
TBL1_ID NUMERIC(9,0),
BLABLA CHAR(20)
)

И фигачим запрос:
select tbl1.id,tbl1.name,iif(tbl1.id=tbl2.tbl1_id,1,0) from tbl1
left outer join tbl2
on (tbl1.id=tbl2.tbl1_id)

В итоге в последнем поле получаем 1, если есть совпадения. Ну и обрабатываешь это поле в OnDraw...



Страницы: 1 вся ветка

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-93407
SASH2
2004-01-05 11:50
2004.01.29
Чистка базы при определенном условии.


14-93633
Курящий
2004-01-08 17:30
2004.01.29
Курящим


1-93520
hStas32ExA
2004-01-18 17:54
2004.01.29
Компонент


14-93623
MBo
2004-01-08 17:21
2004.01.29
Поздравляю Sha !


3-93370
Michail Dalakov
2004-01-02 12:35
2004.01.29
TRemoteDataModule и DCOM