在前人的基础上进行的修改,不知道他是从哪里引用来的,所以没有粘贴引用地址。

  原代码不支持1.3.6。

  修改功能:

    1、如果之前没有添加过工具,用这个方法不能添加(已修复);

    2、估计是不支持1.3.6,所以在1.3.6下不能删除按钮(已修复);

    3、添加了在删除最有一个按钮后把按钮容器删除掉;

插件代码:

$.extend($.fn.datagrid.methods, {
addToolbarItem: function (jq, items) {
return jq.each(function () {
var toolbar = $(this).parent().prev("div.datagrid-toolbar");
//judge does it include toolbar object
//if don't have add one
if (toolbar.length == 0) {
toolbar = $("<div class=\"datagrid-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").insertBefore($(this).parent());
} var tr = toolbar.find("tr");
for (var i = 0; i < items.length; i++) {
var item = items[i]; var btns = $(this).parent().prev("div.datagrid-toolbar").find("tr>td").children("a"); var cbtn = null; btns.each(function () {
var text = null;
text = $(this).data().linkbutton.options.text;
if (text == item.text) {
cbtn = $(this);
text = null;
return false;
} else {
text = null;
return;
}
}); if (item === "-") {
$("<td><div class=\"datagrid-btn-separator\"></div></td>").appendTo(tr);
} else {
if (cbtn) {
cbtn[0].onclick = eval(item.handler || function () { });
cbtn.css("float", "left").linkbutton($.extend({}, item, { plain: true }));
} else {
var td = $("<td></td>").appendTo(tr);
var tool = $("<a href=\"javascript:void(0)\"></a>").appendTo(td);
tool[0].onclick = eval(item.handler || function () { });
tool.linkbutton($.extend({}, item, { plain: true }));
}
}
}
toolbar = null;
});
},
removeToolbarItem: function (jq, param) {
return jq.each(function () {
var btns = $(this).parent().prev("div.datagrid-toolbar").find("tr>td").children("a");
var cbtn = null;
if (typeof param == "number") {
cbtn = btns.eq(param);
} else if (typeof param == "string") {
var text = null;
btns.each(function () {
text = $(this).data().linkbutton.options.text;
if (text == param) {
cbtn = $(this);
text = null;
return;
}
});
}
if (cbtn) {
var prev = cbtn.prev()[0];
var next = cbtn.next()[0];
if (prev && next && prev.nodeName == "DIV" && prev.nodeName == next.nodeName) {
$(prev).remove();
} else if (next && next.nodeName == "DIV") {
$(next).remove();
} else if (prev && prev.nodeName == "DIV") {
$(prev).remove();
}
cbtn.remove();
cbtn = null; btns = $(this).parent().prev("div.datagrid-toolbar").find("tr>td").children("a");
if (btns.length == 0) {
$(this).parent().prev("div.datagrid-toolbar").remove();
}
}
});
}
});

使用方法:

 $('#tt').datagrid("addToolbarItem",[{"text":"xxx"},"-",{"text":"xxxsss","iconCls":"icon-ok"}])
$('#tt').datagrid("removeToolbarItem","GetChanges")//根据btn的text删除
$('#tt').datagrid("removeToolbarItem",0)//根据下标删除

Easy-UI 动态添加DataGrid的Toolbar按钮的更多相关文章

  1. easy UI动态赋值

    1,首先怎么清除这个值 $('#filegrid').datagrid('loadData', { total: 0, rows: [] }); 2,清除后,通过post提交请求,怎么将新植穿进去,这 ...

  2. vue 使用 element ui动态添加表单

    html部分 <div class="hello"> <el-form :model="dynamicValidateForm" ref=&q ...

  3. PHP+Mysql+easyui点击左侧tree菜单对应表名右侧动态生成datagrid加载表单数据(二)

    关于tree菜单生成,参考我的另一篇博文地址tree 菜单 实现功能:点击左侧tree菜单中的table,右侧通过datagrid加载出该表对用的所有数据 难点:获取该表的所有列名,动态生成datag ...

  4. ASP.NET给Table动态添加删除行,并且得到控件的值

    ASP.NET给Table动态添加控件并且得到控件的值 由于跟老师做一个小的项目,可是我自己又不太懂js,所以一直为动态建立表格并且能动态的取值和赋值感到苦恼.起初在网上找到了一些js资源,解决了动态 ...

  5. easyui_动态添加隐藏toolbar按钮

    目标:动态添加隐藏toolbar,比如根据权限动态显示新增.修改.删除按钮等 思路:先初始化toolbar的所有按钮,加载datagrid其它信息,再根据权限显示隐藏toolbar按钮 步骤: 1.加 ...

  6. easy ui datagrid 增,删,改,查等基本操作

    如下图: ①列表信息图 ②添加信息图 ③修改信息图 html代码: <%@ Page Title="" Language="C#" MasterPageF ...

  7. JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单

    JQuery Easy Ui dataGrid 数据表格 数据表格 - DataGrid 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值.. 数 ...

  8. Jquery Easy UI Datagrid 上下移动批量保存数据

    DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...

  9. 让Easy UI 的DataGrid直接内嵌的JSON对象,并重写form load 方法

    前言 我有这样的JSON对象 { "UserName": "jf", "UserPwd": "123456", &quo ...

随机推荐

  1. PAT1030. Travel Plan

    //晴神模板,dij+dfs,貌似最近几年PAT的的图论大体都这么干的,现在还在套用摸板阶段....估计把这及格图论题题搞完,dij,dfs,并查集就掌握差不多了(模板还差不多)为何bfs能自己干出来 ...

  2. Yii cookie 的使用方法

    设置cookie: //首先新建cookie$cookie = new CHttpCookie('mycookie', 'this is my cookie');//定义cookie的有效期$cook ...

  3. Let's see if we could reocver Line 5.3 and above deleted chat messages or not

    Forensic is a strict science and we should let the evidence speak for itself. Several months ago I s ...

  4. PowerDesigner生成Oracle数据字典

    PowerDesigner版本信息 1.File-->NewModel... 2.选择模型 New Model Model types-->Physical Data Model --&g ...

  5. Android IOS WebRTC 音视频开发总结(四九)-- ffmpeg介绍

    本文主要介绍ffmpeg,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,个人微信公众号blacker,更多详见www.rtc.help 说明: ps1:如果直接从webrtc开始学 ...

  6. 插入排序与shell排序(希尔排序)

    1 .插入排序的过程如同我们平时打扑克牌取牌插入的过程,不断将取出的扑克牌插入已经排好的地方. 插入排序过程初始有序区间大小为1,取出无序区间的首元素,查找有序区间的合适位置,进行插入.不断重复上述过 ...

  7. c#文本文件写入

      string err = "Hellod world";             FileStream fs = null;             string filePa ...

  8. ie使用firebug

    在网页插入以下代码即可. <script type="text/javascript" src="http://getfirebug.com/releases/li ...

  9. C#读取xlsx文件Excel2007

    读取Excel 2007的xlsx文件和读取老的.xls文件是一样的,都是用Oledb读取,仅仅连接字符串不同而已. 具体代码实例: public static DataTable GetExcelT ...

  10. FusionCharts X轴显示方式

    本文摘自ITYPE 网站的wangxiao5530 原文网址为:http://wangxiao5530.iteye.com/blog/1454200 1)Wrap Mode (换行模式) <ch ...