【发布时间】:2011-08-26 20:48:49
【问题描述】:
这是我之前关于 Delphi String Grids 的问题 Delphi TStringGrid multi select, determining selected rows 的后续。这是一个不同的问题。
我更仔细地查看了 ONSelectCell 事件 TSelectCellEvent = 对象的过程 (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean);
我注意到 TStringGrid.Selection.Top,Bottom 属性不一定准确(在事件本身内)。基本上,如果有人从选择多行变为只选择一行,则 selection.* 属性不会更新,而如果选择多行,它们会更新。
无论是否选择了一行或多行,ARow 参数都会更新,但这只有在我可以确定只有一行被选择时才会对我有所帮助。
例如,如果只选择了一行,则使用 Arow 参数,如果多于一行,则使用 Selection.* 属性来确定当前选择了哪些行。
一定有更简单的方法....
谢谢!
【问题讨论】:
-
我不知道你在问什么。 “一定有更简单的方法”是个问题吗?
-
...必须有一种更简单的方法来了解在 onSelectCell 事件中选择了哪些行。
-
@sse - 你是怎么解决这个问题的?
标签: delphi select selection tstringgrid