![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Всем доброго времени суток! Помогите новичку! Ситуация такая: Создал БД в phpmyadmin, создал проект в dephi 7. Подцепился к базе через компоненты: "ADOConnection, ADOQuery, DataSourse и DBGrid". Всё работает, таблица отображается! НУЖНО СДЕЛАТЬ ТАК, ЧТОБЫ ПРИ ДВОЙНОМ ЩЕЛЧКЕ НА ОПРЕДЕЛЁННУЮ ЯЧЕЙКУ ТАБЛИЦЫ DBGrid, ВЫВОДИЛАСЬ ДРУГАЯ ФОРМА!
|
|
#2
|
|||
|
|||
|
Цитата:
Вы хоть конкретизируйте, что за форма (если это важно), как она должна выводится, по каким параметрам выбирается ОПРЕДЕЛЕННАЯ ЯЧЕЙКА (простите, не удержался), и тому подобное. |
|
#3
|
||||
|
||||
|
просто есть две формы, в первой таблица dbgrid....нужно чтобы при нажатии на определённую ячейку таблицы по двойному щелчку, на экран вылазила вторая форма!
|
|
#4
|
||||
|
||||
|
Обработайте событие OnCellClick. При щелчке по ячеке, автоматом будет установлен указатель в БД на запись, следовательно запись текущую в источнике вы получите, ну а уж определится с каким полем этой записи вы имеете дело поможет параметр события Column.
|
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Sprinter_One (01.06.2012)
| ||
|
#5
|
||||
|
||||
|
Цитата:
у меня получается так, что при нажатии на любую ячейку, выскакивает вторая форма! а нужно с определённой ячейкой! Да, кстати, если несложно, то напишите пожалуйста код.Последний раз редактировалось Sprinter_One, 01.06.2012 в 19:13. |
|
#6
|
||||
|
||||
|
Через даблклик немножко иначе надо:
Код:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if DBGrid1.SelectedField.FieldName = 'caption'
then ShowMessage('Жмякнули дважды в поле caption');
end; |
|
#7
|
||||
|
||||
|
в OnDblClick объект Column не передаётся, а тебе нужно его свойства проверять. В таком случае нужно использовать оба события. Т. к. OnClick просходит раньше, в нём нужно проверить поле на соответствие, а в OnDblClick вызывать форму.
Можно в случае крайней необходимости row и col проверять, но так как они protection надо писать свой класс http://delphiworld.narod.ru/base/dbgrid_col_row2.html ps: Cтрадалецъ, если по полю кликнули, это не значит что оно во всех случаях уже selected Последний раз редактировалось Viajero, 01.06.2012 в 20:58. |
| Этот пользователь сказал Спасибо Viajero за это полезное сообщение: | ||
Sprinter_One (01.06.2012)
| ||
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо Viajero за это полезное сообщение: | ||
Sprinter_One (01.06.2012)
| ||
|
#10
|
||||
|
||||
|
Мне кажется что в данном случаем какая-то конкретная ячейка грида по которой кликнули не имеет значения. Автору, скорее всего, нужно просто при OnDblClick открыть эту же запись в другой форме для редактирования и все
|
| Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
Sprinter_One (01.06.2012)
| ||