FMX.Grid.TGrid
ユーザーが完全な行を選択できる を使用しています。場合によっては、この選択をリセットしたいことがあります。grid.selected = -1
またはでこれを行うとgrid.selectRow(-1)
、選択はグリッドから削除されますが、最初の行であるgrid.selected
「0」に設定されます。TCustomGrid.SelectCell
grid.selected
プロパティが「-1」になるように選択をリセットするにはどうすればよいですか?
FMX.Grid.TGrid
ユーザーが完全な行を選択できる を使用しています。場合によっては、この選択をリセットしたいことがあります。grid.selected = -1
またはでこれを行うとgrid.selectRow(-1)
、選択はグリッドから削除されますが、最初の行であるgrid.selected
「0」に設定されます。TCustomGrid.SelectCell
grid.selected
プロパティが「-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;
選択した行をグリッドに表示しないことが目的の場合は、別のコンポーネントに焦点を合わせることで焦点を外すことができます。