4

Delphi で DBGrid の選択されたセルの値を取得する必要があります。

やり方がわかりません。dbGridのOnMouseMoveをやってみた

pt : TGridCoord;
...
pt:=dbGrid.MouseCoord(x, y);

[編集済み] OnCellClick を使用して、「Column.Field.AsString」でセルの値を取得できますが、その行の任意の列をクリックすると、最初の列から値を取得したいと考えています。

4

6 に答える 6

3
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.FieldNoDrawColumnCellのイベントで選択されたフィールドを取得しTDBGridます。

于 2011-05-17T11:13:40.667 に答える
1

最も簡単な方法は、非表示の DBText をデータセットに接続し、必要なフィールドを表示するように DBText を設定することだと思います。この方法では、DBText にはアクティブなレコードの必要な値が常に含まれます。

于 2009-12-01T09:15:26.220 に答える
0

これを試して、dbgrid で選択したセルの値を取得します。

procedure Form1.dbGrid1CellClick(Column: TColumn); begin ShowMessage(table1.Fields[DBGrid1.SelectedIndex].AsString); end;

于 2017-09-13T14:44:21.630 に答える