2014年01月04日

DBGridで列移動不可で列幅変更ができるようにする


標準のDBGridは、列幅変更ができるようにすると列移動もできるようになってしまうオプションしかない。
列移動はできないが、列幅変更だけしたいときの方法。
オリジナルのソースを弄ります。

1)
Vcl.DBGrids.pas(またはDBGrids.pas)を別のフォルダにコピー。

2)
TCustomDBGrid.SetOptions メソッドの以下の行を変更
dgColumnResize がTrueの時の設定処理
      NewGridOptions := NewGridOptions + [goColSizing, goColMoving];
から、goColMovingをコメントアウト
      NewGridOptions := NewGridOptions + [goColSizing{, goColMoving}];
(XE4だと、3965行)

3)
上記ファイルを、オリジナルより先に読むように、path等を設定、または、プロジェクトに追加。

(注意)
元ソースを変えるので、プロジェクト全体が変わる。
同一プロジェクトで画面によっては、列移動も可能にしたいという要望があるときはこの方法はNG。
posted by しんくそふと at 11:28| Comment(0) | TrackBack(0) | おぼえ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/84316290
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック