这是我之前关于Delphi字符串网格的问题 Delphi TStringGrid multi select,determining selected rows后续。 这是一个不同的问题。
我更仔细地查看了ONSelectCell事件 TSelectCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean) of object;
我注意到TStringGrid.Selection.Top,Bottom属性在事件中不一定准确。 基本上,如果有人从选择多行变为选择一行,那么selection.*属性就不会更新,而如果选择多行,则会更新。
ARow参数无论选择了一个或多个行都会更新,但只有当我确定选择了一行时,它才对我有用。
例如,如果只选择了一行,则使用Arow参数,如果选择了多行,则使用Selection.*属性确定当前选择了哪些行。
一定有更简单的方法....
谢谢!
我更仔细地查看了ONSelectCell事件 TSelectCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean) of object;
我注意到TStringGrid.Selection.Top,Bottom属性在事件中不一定准确。 基本上,如果有人从选择多行变为选择一行,那么selection.*属性就不会更新,而如果选择多行,则会更新。
ARow参数无论选择了一个或多个行都会更新,但只有当我确定选择了一行时,它才对我有用。
例如,如果只选择了一行,则使用Arow参数,如果选择了多行,则使用Selection.*属性确定当前选择了哪些行。
一定有更简单的方法....
谢谢!