Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > [DBGrid] обращение к столбцам выделенной строки


Автор: Dobermann 24.1.2009, 16:07
Искал тут в поиске, но работу с выделенной строкой не нашел...
---------------
Как скопировать значения столбцов выделенной в DBGrid'e строки, в соответствующие, к примеру, edit'ы ???
В контекстном меню есть пункт ~"скопировать строку". Так вот контекстное меню выпадает на активной(выделенной) строке DBGrid'a. Вопрос в том, как скопировать в edit'ы значения столбцов этой (выделенной) строки???
Т.е. примерно так:
Edit1.text := 1-я ячейка выделенной строки;
Edit2.text := 2-я ячейка выделенной строки;
Edit3.text := 3-я ячейка выделенной строки;
Edit4.text := 4-я ячейка выделенной строки;
Edit5.text := 5-я ячейка выделенной строки;

Понимаю, что вопрос глупый, но я не нагуглил такого свойства...

Автор: Akella 24.1.2009, 16:53
плохо искал

Добавлено через 1 минуту и 14 секунд
и зачем к ячейке, обращайся к полям набора данных

Добавлено через 3 минуты и 21 секунду
ну и так можно
Код

TStringGrid(MyDBGrid1).cells[12,30]

Автор: Dobermann 24.1.2009, 17:59
Цитата(Akella @  24.1.2009,  16:53 Найти цитируемый пост)
плохо искал

А ты плохо прочитал! Гле в твоем примере находится обращение к выделенной строке?!?!?!

Автор: Rodman 24.1.2009, 18:11
Dobermann, смари..
ты выводишь в грид инфу через тэйбл или квери...
так вот когда кликаешь по гриду - то запись в них становится текущей..

т.е. если через квери то
Код

ShowMessage(ADOQuery.Fields.Fields[3].AsString);

Автор: Akella 24.1.2009, 18:58
Цитата(Dobermann @  24.1.2009,  17:59 Найти цитируемый пост)
А ты плохо прочитал! Гле в твоем примере находится обращение к выделенной строке?!?!?!


 smile мдаааааа

Автор: Dobermann 24.1.2009, 19:09
Rodman, разобрался! Спасибо!!!
ps/ завтра + поставлю, сутки не прошли еще...

Автор: Akella 24.1.2009, 19:12
погугл по этому выражению
Цитата(Akella @  24.1.2009,  16:53 Найти цитируемый пост)
TStringGrid(DBGrid1).cells


или заведи глобальную переменную и в каком-нибудь событии присваивай ей значение активной строки smile 

Автор: Dobermann 24.1.2009, 19:16
Да не, так не прокатит! Rodman, хорошую идею подкинул!!!

Автор: Akella 24.1.2009, 19:17
Dobermann, ты вообще когда создавал тему, то не посмотрел почему-то ссылки:
http://ipicture.ru/Gallery/Viewfull/12145885.html

вниз этой странички загляни, неужели там нет похожей темы?

Автор: Dobermann 24.1.2009, 19:22
Цитата(Akella @  24.1.2009,  19:17 Найти цитируемый пост)
Dobermann, ты вообще когда создавал тему, то не посмотрел почему-то ссылки:

Да пересмотрел я все это!!!!!!!!!
У одно так с ораклом работа, а у другого выделение строки другим цветом(это я использовал, даже в той теме отписался)!!!!

Автор: Akella 24.1.2009, 19:23
И вообще, это не идея - это так принято работать с данными.

Добавлено через 1 минуту и 22 секунды
Dobermann, да, да, несомненно больше количество восклицательных знаков обязательно ставить в конце каждой строки !!!!!!!!!!111адын адын

Добавлено через 1 минуту и 58 секунд

И вообще smile 
Цитата(Dobermann @  24.1.2009,  19:16 Найти цитируемый пост)
Да не, так не прокатит! Rodman, хорошую идею подкинул!!!


Цитата(Akella @  24.1.2009,  16:53 Найти цитируемый пост)
и зачем к ячейке, обращайся к полям набора данных

 smile  это я первый тебе идею подкинул, кто это ещё не читает из нас smile 

Автор: Dobermann 24.1.2009, 20:08
Цитата(Akella @  24.1.2009,  19:23 Найти цитируемый пост)
это я первый тебе идею подкинул, кто это ещё не читает из нас  

Только вот мне почему то стало ясно, когда он сказал...

Только не надо говорить что ты не виноват в том, что я не понимаю профессионального языка smile  smile 

Автор: Akella 24.1.2009, 20:16
Цитата(Dobermann @  24.1.2009,  20:08 Найти цитируемый пост)
Только вот мне почему то стало ясно, когда он сказал...

ну конечно, думать никто не хочет, а тут готовый пример smile , думать не нужно

Добавлено через 29 секунд
Цитата(Dobermann @  24.1.2009,  20:08 Найти цитируемый пост)
Только не надо говорить что ты не виноват в том, что я не понимаю профессионального языка smile  smile 

дык пора бы уже

Автор: Dobermann 24.1.2009, 21:01
Если я не понял то, что ты сказал, то это говорит о том что я даже и не пытался подумать???
 
Цитата(Akella @  24.1.2009,  20:16 Найти цитируемый пост)
тут готовый пример

По сути вопроса, пример подходит на треть, просто вот эти слова были ключевыми: 
Цитата

"Dobermann, смари..
ты выводишь в грид инфу через тэйбл или квери...
так вот когда кликаешь по гриду - то запись в них становится текущей.." 

Мне просто надо было вот это услышать!! В этом и был смысл вопроса(теория)!

Автор: Akella 25.1.2009, 11:09
Тогда тебе вот ещё список возможных обращений к столбцами:
Код

table1.Fields[0].value;
ADOTable1.FindField('name').Value
//сразу  с преобразованием к нужному типу
table1.FieldByName('name').asString;
table1.FieldByName('name').asInteger;
table1.FieldByName('name').asVariant;
table1Name.Value;
DBGrid1.DataSorce.Dataset.FieldByName('id').Value;

ADOTable1.FieldValues['name'];
ADOTable1.FieldList.Fields[5].AsDateTime;

Автор: Dobermann 25.1.2009, 11:41
Я рад! smile  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)