我有一个简单的安卓应用程序,由TSringGrid和2列组成,其中一列是TColumn,另一列是TCheckColumn。我可以使用TButton和适当的代码对每一列进行排序,但是TButtons占用了宝贵的屏幕空间,可以更好地使用。是否可以通过使用OnHeaderClick事件并从该事件调用适当的操作来确定选择了哪一列。
非常感谢。
发布于 2018-08-23 13:55:01
首先,事件处理程序签名的示例:
procedure TForm5.StringGrid1HeaderClick(Column: TColumn);Column参数是单击了标题的列。
有许多方法可以检测单击了哪一列,以下是三种方法:
替代一:检查列的Header属性
if Column.Header = 'First column' then
ShowMessage('First clicked')
else
if Column.Header = 'Second column' then
ShowMessage('Second clicked');备选方案二:检查列的Name属性
if Column.Name = 'Column1' then
ShowMessage('First clicked')
else
if Column.Name = 'CheckColumn1' then
ShowMessage('Second clicked');备选方案三:在设计时为每个列的标记属性赋值,并在运行时检查Column.Tag值
case Column.Tag of
0: ShowMessage('First clicked');
1: ShowMessage('Second clicked');
end;当然,您需要根据实际网格更改标识符。
https://stackoverflow.com/questions/51984642
复制相似问题