SMART datagrid v.1 > Examples

Back  Forward

Column Popup Menu  Example

如果在DataColumn.popupMenu属性中,指定通过GridBase.registerPopupMenu而注册的弹出菜单名称, 就会在鼠标处于数据单元格上方时,如果点击所显示的菜单按钮,将会显示所注册的弹出菜单。 如果想显示列弹出菜单,就如同下列代码,首先需要注册菜单。 

如果想根据数据行而另行设置菜单,可以使用popupMenuCallback。 请参考"货币"列的设置。 

Code -1
    grid.registerPopupMenu('menu01', [{
        label: 'menu1',
        callback: menuCallback
    }, {
        label: 'menu2',
    },  ...
    ]);

有关定义菜单的方法,请参考菜单概述帮助。 

Grid - 1
rows

在上面的网格中,已在"国家""利率"列中指定了弹出菜单。 首先,需要指定DataColumn.button属性为"popup"。 然后,在popupMenu指定注册在上述代码中的弹出菜单名称。 

当指定弹出菜单时,将会在相关列的数据单元格显示按钮,并且可以通过buttonVisibility属性进行指定。 已指定"国家"列为ButtonVisibility.ALWAYS,并且指定"利率"列为默认值DEFAULT。 

请变更"利率"列的buttonVisibility而进行测试。 

Button Visibility:

如果是visible,就只会在聚焦单元格显示按钮。 

Code -2
    grid.setColumns([{
        ...
    }, {
        "name": "Country",
        "fieldName": "country",
        "button": "popup",
        "popupMenu": "menu01",
        "buttonVisibility": DataLudi.ButtonVisibility.ALWAYS
    }, {
        "name": "Country",
        "fieldName": "country",
        "button": "popup",
        "popupMenu": "menu02"
    },  ...
    ]);

查看源代码 JSP 

See Also
菜单概述
GridBase.registerPopupMenu
GridBase.unregisterPopupMenu
GridBase.focusedIndex
DataColumn.popupMenu
DataColumn.popupMenuCallback
DataColumn.button
DataColumn.buttonVisibility
Examples
ContextMenu