TStringGrid OnHeaderClick事件

时间:2018-08-23 11:22:04

标签: android delphi

我有一个简单的Android应用程序,其中包含TSringGrid和2列,其中之一是TColumn,另一个是TCheckColumn。我可以使用TButton和适当的代码对每一列进行排序,但是TButton占用了宝贵的屏幕空间,可以更好地利用它。是否可以通过使用OnHeaderClick事件并从该事件中调用适当的操作来确定选择了哪一列。

非常感谢...

1 个答案:

答案 0 :(得分:1)

首先,是事件处理程序签名的示例:

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');

替代方法三:将值分配给每一列的Tag属性  在设计时,然后在运行时检查Column.Tag值

  case Column.Tag of
    0: ShowMessage('First clicked');
    1: ShowMessage('Second clicked');
  end;

当然,您需要根据实际网格更改标识符。