TStringGrid 控件,当从一行移动到另外一行的时候,希望触发一个事件,来处理先前行上的数据。如何实现?

解决方案 »

  1.   

    在OnSelectCell事件里处理就可以了。var OldRow: Integer=1;procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean);
    begin
      if ARow <> OldRow then
        begin
          //代码
          OldRow := ARow;
        end;
    end;
      

  2.   

    多谢楼上,我就是不希望在这个控件之外还搞一个变量来保存原来的行号,这样就需要在好几个事件上来维护这个行号。难道TStringGrid本身就没有办法处理这个事件吗?
      

  3.   

    OnSelectCell 可以处理的
    另外维护用全局变量.
      

  4.   

    仿照OnSelectCell添加个事件,再做出控件
      

  5.   

    在OnSelectCell事件里处理就可以了。