2

FMX.Grid.TGridユーザーが完全な行を選択できる を使用しています。場合によっては、この選択をリセットしたいことがあります。grid.selected = -1またはでこれを行うとgrid.selectRow(-1)、選択はグリッドから削除されますが、最初の行であるgrid.selected「0」に設定されます。TCustomGrid.SelectCell

grid.selectedプロパティが「-1」になるように選択をリセットするにはどうすればよいですか?

4

2 に答える 2

1

選択した行のストア値であるプライベート プロパティに直接アクセスできる小さなクラス ヘルパーを作成した FMX ライブラリのコードを確認しました。Delphi XE8 でテスト済み。オプション「AlwaysShowSelection」が有効になっている場合でも、このコードは正しく機能します。

  TMyG = class helper for TCustomGrid
  public
    procedure DoSomethingStrange;
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.btnReadSelectionClick(Sender: TObject);
begin
  Caption := Grid1.Selected.ToString;
end;

procedure TForm1.btnResetSelectionClick(Sender: TObject);
begin
  Grid1.DoSomethingStrange;
end;

{ TMyG }

procedure TMyG.DoSomethingStrange;
begin
  Self.FSelected := -1;
  Self.UpdateSelection;
end;
于 2015-07-21T20:31:20.027 に答える
-2

選択した行をグリッドに表示しないことが目的の場合は、別のコンポーネントに焦点を合わせることで焦点を外すことができます。

于 2015-07-21T20:35:23.537 に答える