Я использую следующий код, добавленный к моему событию DBGrid — OnCellClick
procedure TForm2.DBGrid1CellClick(Column: TColumn);
begin
if dbmodule.comenziDataSet.Active then
begin
if not Assigned(dbgridCelulaForm) then
begin
dbgridCelulaForm := TdbgridCelulaForm.Create(Self);
dbgridCelulaForm.DBMemoCelula.DataSource := dbmodule.comenziSource;
end;
dbgridCelulaForm.Visible := False;
dbgridCelulaForm.Visible := True;
dbgridCelulaForm.DBMemoCelula.DataField := Column.FieldName;
dbgridCelulaForm.Caption := Format('%s / randul: %d',[Column.FieldName, DBGrid1.DataSource.DataSet.RecNo]);
end;
end;
dbgridCelulaForm = имя формы, содержащей TDBMemo
DBMemoCelula = имя TDBMemo
dbmodule.comenziDataSet = comenziDataSet — это имя DataSet
, а dbmodule — это имя data module
(юнит, подобный формам) — DataSet
находится на data module
, поэтому, dbmodule.comenziDataSet dbmodule.comenziSource = то же, что и набор данных, DataSource в модуле данных, источник называется comenziSource
Итак, что делает этот код:
Как только я нажимаю ячейку на моем DBGrid
, появляется form
(с именем dbgridCelulaForm), который содержит TBMemo
(с именем DBMemoCelula), и показывает мне информацию, содержащуюся в этой ячейке (например, имя клиента или что-то еще, что содержит ячейка). , в моей БД)
Это нормально, моя проблема в том, что я не могу сейчас выбирать строки в DBGrid
, ну, я могу, но как только я делаю 1-е место, я нажимаю (ячейка, любая) на конкретную строку, которую я хочу выбрать, с помощью мыши, затем ячейка активируется, и появляется form
.
Можно ли использовать этот код в событии DBGrid
- OnDblClick
вместо OnCellClick
? Это означает, что как только я дважды щелкну строку / ячейку, form
должно появиться и показать мне информацию, но двойной щелчок - не одиночный щелчок.
Таким образом, я все еще могу выбрать строку и просмотреть информацию в ячейке, если мне нужно.
Или любым другим способом/местом для использования/получения этой функциональности. Есть предположения?
Я могу опубликовать быстрое видео обо всем, если мое объяснение неоднозначно, и вы думаете, что это поможет, просто скажите мне в комментарии / ответе.
Кроме того, я использую компоненты RAD Studio 10 Seattle и dbexpress для базы данных — если это поможет.
Спасибо!