Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Горит заказ!!! Помогите!! [D5, Win2k]


QWest ©   (2002-05-22 16:15:00) 

Такая пробла:есть компонет - RXDBGrid. Надо, чтоб при двойном щелчке на одной из ячеек этого грида появлялась форма,на которой есть текстовое поле содержащее значение ячейки, по которой щелкнули....
Если что непонятно в вопросе - обращайтесь....
Заранее благодарен....


QWest   (2002-05-23 10:23:00) [1]

Все, понял. Большое спасибо....


MBo   (2002-05-23 10:15:00) [2]

так как по dblclick не передается колонка, записываем ее при срабатывании CellClick. Далее используем ее свойство Field, относящееся к текущей записи dataset.(т.е. формально - строке dbgrid)


QWest   (2002-05-23 09:58:00) [3]

Извиняюсь за причиненные беспокойства, всё работает, ошибка была у меня....
Но все-таки, я не понял как он работает (а хотелось бы)...


MBo   (2002-05-23 09:57:00) [4]

ну сделай сначала
s:=acolumn.Field.AsString;
потом
Form2.Edit.Text:=S;
хотя странно...


QWest   (2002-05-23 09:54:00) [5]

Да, рпекрасно работает...


QWest   (2002-05-23 09:50:00) [6]

Щас попробую...


MBo   (2002-05-23 09:47:00) [7]

???
а простое присвоение там же
Form2.Edit.Text:="ww";
работает?


QWest   (2002-05-23 09:45:00) [8]

Мне понравилось, как работает ваш код (надо будет взять на вооружение), но при попытке изменить Lable1 Ha Form2.Edit.Text работать перестал...


MBo   (2002-05-23 09:30:00) [9]

а ты попробовал?


QWest   (2002-05-23 09:30:00) [10]

Щас этим и занимаюсь...


QWest   (2002-05-23 09:28:00) [11]

var

" Acolumn:TColumn;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
AColumn:=Column;//запомним
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
label1.caption:=acolumn.Field.AsString;
end;"
А вот здесь я вообще ничего не понял...


Georg   (2002-05-22 17:33:00) [12]

onDblClick - это и есть двойной щелчок по гриду, а Grid1.Col и Grid1.Row возвращают актуальную (по которой кликнули) ячейку.


MBo   (2002-05-22 17:30:00) [13]

var
Acolumn:TColumn;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
AColumn:=Column;//запомним
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
label1.caption:=acolumn.Field.AsString;
end;


QWest   (2002-05-22 17:28:00) [14]

Не, вы не поняли вопрос: вопервых "надо двойной щелчок (onСellClick уже занято)", а вовторых нужно, чтоб он реагировал не на одну, а на любую из ячеек....


Georg   (2002-05-22 17:21:00) [15]

на OnDblClick пишешь:

Form1.Edit1.Text := Grid1.Cells[Grid1.Col,Grid1.Row]

где Form1 твоя форма
Edit1 текстовое поле
Grid1 грид, по которому кликнули (он же Sender в процедуре onDblClick)


QWest   (2002-05-22 17:09:00) [16]

если возможно, то хотелось бы все таки готовый текс - или пример.


Georg   (2002-05-22 16:56:00) [17]

Так на двойной щелчок ячейка должна быть уже выделена и можно просто получить значение из актульной ячейки - (столбец Grid.Col, строка Grid.Row)


QWest   (2002-05-22 16:53:00) [18]

Уважаемый Song, если мона, примерчик напишите, пожалуйста


QWest   (2002-05-22 16:51:00) [19]

А если надо двойной щелчок (onСellClick уже занято)?


Song   (2002-05-22 16:32:00) [20]

И чего сложного? onClick ---> по MouseToCell() определяете ячейку на которой клик... --> загружаете её значение в форму.


Наверх

Титульная страница Поиск, карта сайта Написать письмо