Delphi で DBGrid の選択されたセルの値を取得する必要があります。
やり方がわかりません。dbGridのOnMouseMoveをやってみた
pt : TGridCoord;
...
pt:=dbGrid.MouseCoord(x, y);
[編集済み] OnCellClick を使用して、「Column.Field.AsString」でセルの値を取得できますが、その行の任意の列をクリックすると、最初の列から値を取得したいと考えています。
procedure TForm1.DBGrid_DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
const defaultCheckBoxFieldNumber = 1;
begin
if DBGrid.SelectedField.FieldNo = defaultCheckBoxFieldNumber then
....;
else
...;
end;
DBGrid.SelectedField.FieldNo
DrawColumnCell
のイベントで選択されたフィールドを取得しTDBGrid
ます。
最も簡単な方法は、非表示の DBText をデータセットに接続し、必要なフィールドを表示するように DBText を設定することだと思います。この方法では、DBText にはアクティブなレコードの必要な値が常に含まれます。
これを試して、dbgrid で選択したセルの値を取得します。
procedure Form1.dbGrid1CellClick(Column: TColumn);
begin
ShowMessage(table1.Fields[DBGrid1.SelectedIndex].AsString);
end;