如果在DataColumn.popupMenu属性中,指定通过GridBase.registerPopupMenu而注册的弹出菜单名称, 就会在鼠标处于数据单元格上方时,如果点击所显示的菜单按钮,将会显示所注册的弹出菜单。 如果想显示列弹出菜单,就如同下列代码,首先需要注册菜单。
如果想根据数据行而另行设置菜单,可以使用popupMenuCallback。 请参考"货币"列的设置。
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"
}, ...
]);