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;
|