나는 다음과 같은 코드 내 DBGrid를 추가 사용하고 있습니다 - OnCellClick 이벤트DBGrid를 - OnCellClick 및 OnDblClick가 포함 된 양식/TBMemo을 반환 세포/열 값/s의
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 =를 포함하는 형태의 이름 dbmodule.comenziDataSet dbmodule 상기 DataSet
가 data module
에 있으므로 - TDBMemo
dbmodule.comenziDataSet = comenziDataSet의 TDBMemo
DBMemoCelula = 이름 DataSet
의 이름이고 dbmodule는 (형태와 마찬가지로 부)를 data module
의 이름이다. comenziSource = 소스가 comenziSource
좋아, 그래서이 코드는 무엇을 :
일단 내가 그것을 팝업 DBGrid
에 셀을 클릭 form
(dbgridCelulaForm 이름) TBMemo
(DBMemoCelula라는)이 들어 있으며 해당 셀에 들어있는 정보를 보여줍니다 (예 : 고객 이름 또는 셀이 보유하고있는 것, 내 데이터베이스에 있음)
괜찮습니다, 제 문제는 지금은 DBGrid
에있는 행을 선택할 수 없습니다. 한 번만 마우스를 클릭하여 특정 행의 셀 (any cell)을 클릭하면됩니다. 세포가 활성화되고 form
이 나타납니다.
OnCellClick
대신 DBGrid
- OnDblClick
이벤트에서이 코드를 사용할 수 있습니까? 의미 일단 행/셀을 두 번 클릭하면 form
이 나에게 정보를 보여 주지만 두 번 누르기 만하면됩니다.
그런 식으로 필자는 여전히 행을 선택하고 필요한 경우 셀의 정보를 볼 수 있습니다.
또는이 기능을 사용하거나 수신하는 다른 방법/장소. 의견이 있으십니까?
내 설명이 모호하고 도움이된다고 생각하면 댓글/답변에 나와있는 모든 것을 빠른 동영상으로 게시 할 수 있습니다.
또한 데이터베이스에 RAD Studio 10 Seattle과 dbexpress 구성 요소를 사용하고 있습니다.
감사합니다.
전혀 모호성을 ... 나는 비슷한 기능을 구현하는 방법은 그리드 컬럼의 편집 버튼을 통해 - 그리드에 OnEditButtonClick 이벤트가 발생합니다. 단추 모양을 cbsEllipsis로 설정하면 클릭 할 때 대화 상자가 튀어 나오는 것이 분명해집니다. Alt + Down으로 트리거 할 수도 있습니다. –
안녕하세요. 회신 해 주셔서 감사합니다. 이미 다른 용도로 OnEditButtonClick을 사용하고 있으므로 사용할 수 없습니다. Martyn의 답변은 SelectedField 의견과 마찬가지로 도움이됩니다. 감사합니다! – Petzy