我正在使用一个FMX.Grid.TGrid
用户可以选择完整行的。在某些情况下,我想重置此选择。如果我这样做grid.selected = -1
或使用grid.selectRow(-1)
选择从网格中删除但grid.selected
设置为'0'(in TCustomGrid.SelectCell
),这是第一行。
如何重置选择以使属性grid.selected
为“-1”?
我正在使用一个FMX.Grid.TGrid
用户可以选择完整行的。在某些情况下,我想重置此选择。如果我这样做grid.selected = -1
或使用grid.selectRow(-1)
选择从网格中删除但grid.selected
设置为'0'(in TCustomGrid.SelectCell
),这是第一行。
如何重置选择以使属性grid.selected
为“-1”?
我检查了 FMX 库的代码,我做了小类助手,它允许您直接访问私有属性,这些私有属性是所选行的存储值。在德尔福 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;
如果您的目标是不在网格中显示选定的行,那么您可以通过关注另一个组件来散焦它。