如题:
    类似数组移动的方法,就不用说了。

解决方案 »

  1.   

    procedure TMainForm.DeleteRow(row: integer);
    var
      k, m: integer;
    begin
      if row > 0 then begin
        with stringgrid1 do begin
          for k := row to RowCount - 1 do
            for m := 1 to 5 do
              cells[m, k] := cells[m, k + 1];
          RowCount := RowCount - 1;
        end;
      end;
    end;
    //删除一行,针对你的情况改改。
      

  2.   

    typeTExCell = class(TStringGrid)publicprocedure DeleteRow2(ARow: Longint);procedure DeleteColumn(ACol: Longint);procedure InsertRow(ARow: LongInt);procedure InsertColumn(ACol: LongInt);end;
    procedure TExCell.InsertColumn(ACol: Integer);beginColCount :=ColCount +1;MoveColumn(ColCount-1, ACol);end;procedure TExCell.InsertRow(ARow: Integer);beginRowCount :=RowCount +1;MoveRow(RowCount-1, ARow);end;procedure TExCell.DeleteColumn(ACol: Longint);beginMoveColumn(ACol, ColCount -1);ColCount := ColCount - 1;end;procedure TExCell.DeleteRow2(ARow: Longint);beginMoveRow(ARow, RowCount - 1);RowCount := RowCount - 1;end;
    procedure TForm1.DeleteButtonClick(Sender: TObject);
    begin
         TExCell(stringgrid1).DeleteRow2(stringgrid1.Row) ;
    end;
      

  3.   

    把上面那段代碼復制到程序裡面就可以了,
    在刪除按鈕事件加入  TExCell(stringgrid1).DeleteRow2(stringgrid1.Row) ;就可以的