Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Вниз

Выбор значений в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-93360
HolyMan
2003-12-26 23:26
2004.01.29
Удаление данных из Blob полей....


1-93500
sohat
2004-01-19 09:15
2004.01.29
как поменять кодировку в TMemo?


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


1-93511
Kinrderrr
2004-01-18 21:42
2004.01.29
Мышь над формой


14-93657
Ivolg
2004-01-09 11:57
2004.01.29
Ешник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский