请问DBGRID在允许列调整宽度的情况下,如何禁止它字段之间调整了位置?如:禁止将第二字段移到第一字段的前面]]
就是在dgColumnResize为true的情况下,
下面的事件无效呀..procedure TfrmTradeMS.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
  ToIndex: Integer);
beginend;

解决方案 »

  1.   

    TStringGrid(DBGrid1).Options:= TStringGrid(DBGrid1).Options-[goColMoving];
      

  2.   

    试试
    procedure TfrmTradeMS.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
    begin
      Abort;
    end;
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;type
      TForm1 = class(TForm)
        DataSource1: TDataSource;
        ADOTable1: TADOTable;
        DBGrid1: TDBGrid;
        Button1: TButton;
        procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
          ToIndex: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationtype
      TMyDBGrid = class(TDBGrid)
      end;{$R *.dfm}procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
    begin
      Caption := Format('DBGrid1ColumnMoved From %d To %d', [FromIndex, ToIndex]);
      if (FromIndex = 1) and (ToIndex = 0) then
      begin
        TMyDBGrid(Sender).MoveColumn(ToIndex + 1, FromIndex + 1);
      end;
    end;end.
      

  4.   

    不行啊。
    ToIndex:=FromIndex也不行。
    饭饭先。
      

  5.   

    测试通过
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      TStringGrid(DBGrid1).Options:= TStringGrid(DBGrid1).Options-[goColMoving];
    end;
      

  6.   

    to lion_lh(xmanx) :
      你的方法可以...TKS~但是我想试试下面这个为什么会编译不过呢?Options不就是TCustomGrid的属性,为什么会说没有定义?TCustomGrid(dgridTradeType).Options:= TCustomGrid(dgridTradeType).Options-
    [goColMoving];to  samcrm(阿靖):
    你那种方法不行的..