掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBGRIDにチェックボックス (ID:47072)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
またXE7と旧バージョンの違いについてお尋ねします。 DBGRIDのBoolean型のフィールドをチェックボックスで表示したいのですが DELPHI5では下記コードで表示できるのですがXE7だと 「E2003 未定義の識別子:'ftBoolean'」とエラーになります。 対応策をご存じであればご教示下さい。 procedure TMainForm.DBGrid1CellClick(Column: TColumn); begin if Column.Field.DataType = ftBoolean then begin Column.Field.DataSet.Edit; Column.Field.AsBoolean := not Column.Field.AsBoolean; end; end; procedure TMainForm.DBGrid1ColEnter(Sender: TObject); begin if TDBGrid(Sender).SelectedField.DataType = ftBoolean then TDBGrid(Sender).Options := TDBGrid(Sender).Options - [dgEditing] else TDBGrid(Sender).Options := TDBGrid(Sender).Options + [dgEditing]; end; procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var R: TRect; begin if Column.Field.DataType = ftBoolean then begin TDBGrid(Sender).Canvas.FillRect(Rect); R := Rect; InflateRect(R, -3, -5); if Column.Field.AsBoolean then DrawFrameControl(TDBGrid(Sender).Canvas.Handle, R, DFC_BUTTON, DFCS_BUTTONCHECK + DFCS_CHECKED) else DrawFrameControl(TDBGrid(Sender).Canvas.Handle, R, DFC_BUTTON, DFCS_BUTTONCHECK); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.