我正在使用FMX.Grid.TGrid
,用户可以在其中选择完整的行。在某些情况下,我想重置此选择。如果我使用grid.selected = -1
或grid.selectRow(-1)
执行此操作,则会从网格中删除选择,但grid.selected
设置为' 0' (在TCustomGrid.SelectCell
),这是第一行。
如何重置选择内容以使属性grid.selected
为' -1'?
答案 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)
如果您的目标是不在网格中显示所选行,那么您可以通过关注其他组件来对其进行散焦。