DataColumn.popupMenuプロパティーにGridBase.registerPopupMenuで登録したポップアップメニューの名前を指定すれば、 マウスがデータセルの上に乗ったときメニューボタンを表示する。 メニューボタンをクリックすると登録されたポップアップメニューを表示する。
カラムポップアップメニューを表示するためには以下のコードのように先にメニューを登録しなければならない。
grid.registerPopupMenu('menu01', [{
label: 'menu1',
callback: menuCallback
}, {
label: 'menu2',
}, ...
]);
メニューを定義する方法はメニュー概要ヘルプを参考する。
上のグリッドで"国家"、"利率"カラムにポップアップメニューを指定した。 まず、DataColumn.buttonプロパティーを"popup"で指定しなければならない。 そして、popupMenuに上で登録したポップアップメニューの名前を指定する。
ポップアップメニューが指定されたらそのカラムのデータセルにボタンが表示されるが、 buttonVisibilityプロパティーに指定する。 "国家"カラムはButtonVisibility.ALWAYSに、 "利率"カラムはデフォルト値であるDEFAULTで指定した。
"利率"カラムのbuttonVisibilityを変更してみる。
visibleならフォーカスセルにだけボタンを表示する。
grid.setColumns([{
...
}, {
"name": "Country",
"fieldName": "country",
"button": "popup",
"popupMenu": "menu01",
"buttonVisibility": DataLudi.ButtonVisibility.ALWAYS
}, {
"name": "Country",
"fieldName": "country",
"button": "popup",
"popupMenu": "menu02"
}, ...
]);