timer实现Grid自动换行(连续相同的id跳到下一行)

 private
    { Private declarations }
    FRow: Integer;
    procedure SetRow(const Value: Integer);


  public
    { Public declarations }
    property Row : Integer read FRow write SetRow default -1;  // 属性
  end;

implementation

{$R *.fmx}

{ Tfrm }


procedure Tfrm.SetRow(const Value: Integer);
begin
  if(Value<>FRow) then begin
    FRow:=Value;
    G1.SelectRow(Value);
    Timer1.Interval:=G1.Cells[3,Value].ToInteger();
  end;
end;


procedure Tfrm.Timer1Timer(Sender: TObject);
var
  n, i, j: Integer;
begin
  n := FRow + 1;  // 当前行位置
  j := 0;         // IP相同的个数
  if n < G1.RowCount - 1 then // 防止超界
  begin
    for i := 0 to G1.RowCount - 1 do
    begin
      if i + 1 < G1.RowCount - 1 then
        if (G1.Cells[0, FRow] = G1.Cells[0, FRow + i]) then // 判断相邻行IP的相同个数  若相同则相加否则退出循环
          Inc(j)
        else break;
    end;
    if j <> 0 then n := FRow + j;
  end;
  if (n >= G1.RowCount - 1) then
    n := 0;
  Row := n;
end;

 

转载于:https://www.cnblogs.com/studypanp/p/4942701.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值