SMART datagrid v.1 > Examples

[ grids ver.1.3.2]   Back  Forward

DataCell Buttons  Example

如果指定DataColumn.button属性,就可以在数据单元格的右侧显示按钮。 目前,可以通过CellButton.POPUP或ACTION进行指定。 

Grid - 1
rows
1. Popup按钮

"国家"列的button已被指定为CellButton.POPUP, 并且DataColumn.popupMenu已被设置为预先注册在网格上的"menu01"菜单。 可以通过buttonVisibility指定菜单按钮的显示方式,而可以通过buttonDisplayCallback最终决定是否进行显示。 在例题的"国家"列中,只在偶数行显示按钮。 

而且,可以通过使用DataColumn.popupMenuCallback,分别在各个单元格显示不同的菜单。 在例题的"本金"列中,分别在各个奇偶数行显示不同的菜单。 

(国家列) Button Visibility:
(本金列) Button Visibility:

(CURRENT为v 1.3.8之后) 

Code -1
    var columns = [{
        name: 'Amount',
        button: "popup",
        popupMenu: "menu01",
        popupMenuCallback: function (index) {
            if (index.rowIndex % 2) {
                return 'menu01'
            } else {
                return 'menu02'
            }
        },
        ...
    ];
2. Action按钮

"利率""货币"列中,已有设置CellButton.ACTION按钮。 如上述例题,我们可以指定按钮显示方式,也可以通过buttonDisplayCallback设置是否显示按钮。 

如果在运行时间点击按钮,将会触发GridBase.onCellButtonClicked事件。 

Code -2
    grid.onCellButtonClicked = function (grid, index) {
        alert(index.column.name());
    };

查看源代码 JSP 

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