DBGridのセルにボタンを表示する
DBGridのセルの中に小さいボタンを表示する方法です。
Query、Table などの項目を追加します。 Query , Table をダブルクリックして項目エディタを起動し、さらに右クリックのポップアップメニューから「全ての項目を追加」を選びます。
次に DBGrid の Columns を設定します。DBGrid をダブルクリックして Columns ウィンドウを表示し、右クリックのポップアップウィンドウから「すべての項目を追加」を選びます。
ボタンを表示したいフィールドを選択してオブジェクトインスペクタで ButtonStyle プロパティを "cbsEllipsis" に設定します。
以上で設定は完了です。実行すると以下のようにボタンが表示されます。
ボタンを押された場合のイベントは DBGrid の OnEditButtonClick に記述します。このボタンを複数のフィールドに設定することができますが、イベント内ではどのフィールドのボタンを押されたかが分かりません。ですので現在選択されているフィールドを DBGridの SelectedField で判断してください。
■ DBGrid のボタンを押した場合の処理例 |
procedure TForm1.DBGrid1EditButtonClick(Sender: TObject); begin if (DBGrid1.SelectedField = Query1.FieldByName('ARTISTNAME')) then begin ShowMessage('ほげーー'); end else if (DBGrid1.SelectedField = Query1.FieldByName('BIRTHYEAR')) then begin ShowMessage('もけーー'); end; end; |