EasyUI 中在DataGrid的toolbar 上使用MenuButton
DataGrid的toolbar 中官方网站只是给出了linkbutton的使用方法。
但是在生产过程中,经常需要做各种菜单,所以需要在ToolBar上增加 MenuButton。尝试了很多方法都不行。
例如:
{
text: '下拉菜单',
iconCls: 'icon-more',
menu: [{
text: '菜单项1',
iconCls: 'icon-ok',
handler: function () {
alert('菜单项1');
}
}, {
text: '菜单项2',
iconCls: 'icon-cancel',
handler: function () {
alert('菜单项2');
}
}],
},
按照上述方法,产生如图:
但是点击没有反应,没有下拉的效果。
已经实现DEMO.查看图片效果
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>使用MenuButton在toolbar上</title>
<!-- 引入EasyUI CSS文件 -->
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
<!-- 引入jQuery文件 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<!-- 引入EasyUI JS文件 -->
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
</head>
<body>
<!-- 定义DataGrid -->
<table id="dg" class="easyui-datagrid" style="width:500px;height:250px"
toolbar="#toolbar"
data-options="
url:'datagrid_data.json',
method:'get',
pagination:true,
rownumbers:true,
toolbar:'#tb'
">
<thead>
<tr>
<th data-options="field:'itemid',checkbox:true"></th>
<th data-options="field:'productid',width:80">Product ID</th>
<th data-options="field:'productname',width:180">Product Name</th>
<th data-options="field:'listprice',width:80,align:'right'">List Price</th>
</tr>
</thead>
</table>
<!-- 定义toolbar -->
<div id="toolbar">
<div id="tb">
<a href="#" class="easyui-menubutton" data-options="menu:'#mm1',iconCls:'icon-add'">Add</a>
<a href="#" class="easyui-menubutton" data-options="menu:'#mm2',iconCls:'icon-remove'">Remove</a>
</div>
<div id="mm1" style="width:100px;">
<div data-options="iconCls:'icon-save',name:'save'">Save</div>
<div data-options="iconCls:'icon-cancel',name:'cancel'">Cancel</div>
<div class="menu-sep"></div>
<div>Trade..</div>
</div>
<div id="mm2" style="width:100px;">
<div data-options="iconCls:'icon-ok',name:'ok'">Ok</div>
<div data-options="iconCls:'icon-cancel',name:'cancel'">Cancel</div>
<div class="menu-sep"></div>
<div>Trade..</div>
</div>
</div>
<script>
// 模拟请求及响应
function requestData() {
setTimeout(function () {
$('#dg').datagrid('loadData',
{
"total": 2,
"rows":
[
{"itemid": 1, "productid": "1001", "productname": "Notebook", "listprice": "999.5"},
{
"itemid": 2,
"productid": "1002",
"productname": "Notebook",
"listprice": "1999.0"
}]
});
}, 2000);
}
// 给Add按钮绑定点击事件,模拟Ajax请求
$('#tb .easyui-menubutton[name=add]').click(function () {
$.messager.progress({
title: 'Please waiting',
msg: 'Loading data...'
});
requestData(); // 模拟请求
$.messager.progress('close');
});
</script>
</body>
</html>
同一目录下的datagrid_data.json
{
"total": 3,
"rows": [
{
"itemid": "02",
"productid": "008",
"productname": 20 ,
"listprice" : "模拟数据"
}
]
}
var toolbar = [{
id: 'button-view',
text: '查询',
iconCls: 'icon-search',
handler: doView
}, {
id: 'button-add',
text: '增加',
iconCls: 'icon-add',
handler: doAdd
}, {
id: 'button-delete',
text: '作废',
iconCls: 'icon-cancel',
handler: doDelete
}, {
id: 'button-save',
text: '还原',
iconCls: 'icon-save',
handler: doRestore
},{
id: 'button-edit',
text: '保存',
disabled:true,//行编辑控制按钮默认失效
iconCls: 'icon-save',
handler: saverow
},{
id: 'button-clear',
text: '返回',
disabled:true,//行编辑控制按钮默认失效
iconCls: 'icon-back',
handler: cancelrow
}];