![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Горит заказ!!! Помогите!! [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() определяете ячейку на которой клик... --> загружаете её значение в форму.