如何设置'选择' TGrid的性质为-1

时间:2015-07-21 14:02:23

标签: delphi firemonkey tgrid

我正在使用FMX.Grid.TGrid,用户可以在其中选择完整的行。在某些情况下,我想重置此选择。如果我使用grid.selected = -1grid.selectRow(-1)执行此操作,则会从网格中删除选择,但grid.selected设置为' 0' (在TCustomGrid.SelectCell),这是第一行。

如何重置选择内容以使属性grid.selected为' -1'?

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:-2)

如果您的目标是不在网格中显示所选行,那么您可以通过关注其他组件来对其进行散焦。