实现StringGrid的删除,插入,排序行操作(基本操作啦)

    技术2025-09-18  146

    Procedure GridRemoveColumn(StrGrid: TStringGrid; DelColumn: Integer);   Var Column: Integer;   begin     If DelColumn <= StrGrid.ColCount then     Begin       For Column := DelColumn To StrGrid.ColCount-1 do         StrGrid.Cols[Column-1].Assign(StrGrid.Cols[Column]);       StrGrid.ColCount := StrGrid.ColCount-1;     End;   end; //实现添加插入操作   Procedure GridAddColumn(StrGrid: TStringGrid; NewColumn: Integer);   Var Column: Integer;   begin     StrGrid.ColCount := StrGrid.ColCount+1;     For Column := StrGrid.ColCount-1 downto NewColumn do       StrGrid.Cols[Column].Assign(StrGrid.Cols[Column-1]);     StrGrid.Cols[NewColumn-1].Text := '';   end;   //实现排序操作   Procedure GridSort(StrGrid: TStringGrid; NoColumn: Integer);   Var Line, PosActual: Integer;       Row: TStrings;   begin     Renglon := TStringList.Create;     For Line := 1 to StrGrid.RowCount-1 do     Begin       PosActual := Line;       Row.Assign(TStringlist(StrGrid.Rows[PosActual]));       While True do       Begin         If (PosActual = 0) Or (StrToInt(Row.Strings[NoColumn-1]) >= StrToInt(StrGrid.Cells[NoColumn-1,PosActual-1])) then         Break;         StrGrid.Rows[PosActual] := StrGrid.Rows[PosActual-1];         Dec(PosActual);       End;       If StrToInt(Row.Strings[NoColumn-1]) < StrToInt(StrGrid.Cells[NoColumn-1,PosActual]) then         StrGrid.Rows[PosActual] := Row;     End;     Renglon.Free;   end;  

    最新回复(0)