在删除stringgrid里的某一行时,使用stringgrid1.rowcount=stringgrid1.rowcount-1时只删除最后一行,如果只删除其中的光标所在行,如何写代码???

解决方案 »

  1.   

    var
      k,j:integer;
    begin
    with stringgrid1 do
      begin
      if RowCount=FixedRow+1 then
        begin
         for k:=0 to ColCount-1 do
           Celss[k,Row]:='';
         exit;
        end;
      for k:=Row to RowCount-1 do
        for j:=0 to ColCount-1 do
          Cells[j,k]:=Celss[j,k+1];
      if RowCount>FixedRow then
        RowCount:=RowCount-1;
      end;
    end;
      

  2.   

    StringGrid1.Rows[StringGrid1.Selection.Top]
    其中StringGrid1.Selection返回一个你所选择的矩形,仔细研究一下你会发现用处很大
    记得给分哟
      

  3.   

    没看清楚你要当前所选择的行数,直接StringGrid1.Selection.Top就是当前的行数