如果网格displayOptions的preventSystemMenu不是true, 当右击SMART datagrid格内部时,网格将会替代浏览器上下文菜单, 显示通过GridBase.setContextMenu或setDefaultContextMenu指定的弹出菜单。 另外,如果在列中设置popupMenu,当点击数据单元格的菜单按钮时, 将会显示通过GridBase.registerPopupMenu注册的相关弹出菜单。 上述两种情况,都会用包含下列属性的对象数组,指定菜单。
grid.setContextMenu([{
label: "Add Row",
callback: function () {
grdMain.insert();
grdMain.setFocus();
}
}, {
label: "Delete Rows",
callback: function () {
grdMain.deleteSelection();
}
}, {
label: "-" // menu separator
}, {
label: "Excel Export",
tag: 'excel'
}]);
属性 | 说明 |
---|---|
'type' | 没有指定或可能会是'check'、'radio'。 如果为'check',当点击菜单项目时,将会变更'checked'状态。 如果为'radio',当点击菜单项目时,具有相同'group'的其他项目的'checked'将会变成false,并且被点击的项目将会变成true。 在'checked'为true的项目左侧,将会显示check符号。如果为'radio',就会显示小圆。 而且,'checked'状态将会与其他属性一同传递至菜单回调函数。 |
'visible' | 如果为false,这个项目将不会显示在菜单。默认值为true。 |
'enabled' | 如果为false,就无法通过点击这个项目而运行回调。默认值为true。 |
'label' | 显示在项目的文本。如果设置为'-',就会成为菜单分隔线。 |
'group' | 如果'type'为'radio',当点击这个菜单项目时,具有相同的相关值的其他项目的'checked'将会变成false, 而这个菜单项目的'checked'将会变成true。 |
'checked' | 如果'type'为'check',当点击这个菜单项目时,这个值将会被切换为true、false。 |
'tag' | 指定和使用可以区分这个菜单项目的任一值。 |
'children' | 指定子菜单项目为数组。 |
'callback' | 当点击这个菜单项目时,将会运行的回调函数。 function (data) { if (data.tag == 'abc') {} } 'data'中将会包含和传递这些菜单项目属性。 |