当前位置: 首页 > news >正文

easyui datagrid 行右键生成 动态获取(toolbar) 按钮

var createGridRowContextMenu = function(e, rowIndex, rowData) {
e.preventDefault();
var grid = $(this);/* grid本身 */
var rowContextMenu = this.rowContextMenu;/* grid上的列头菜单对象 */
grid.datagrid('unselectAll').datagrid('selectRow', rowIndex);
if (!rowContextMenu) {
var tmenu = $('').appendTo('body');
var toolbar = grid.datagrid('getToolbar');
var filedHTML = $('');
var span = $('翻页控制');
var spdiv = $('');
for ( var i = 0; i < toolbar.length; i++) {
var btn = $(toolbar[i]).linkbutton('options');
var btnElement = $(toolbar[i]).linkbutton();
var c = $(btnElement).attr("onclick");
$("").html(btn.text).appendTo(tmenu);
//$('').html(btn.text).appendTo(tmenu);
}
spdiv.append('首页');
spdiv.append('上一页');
spdiv.append('下一页');
spdiv.append('末页');
span.appendTo(filedHTML);
spdiv.appendTo(filedHTML);
filedHTML.appendTo(tmenu);
rowContextMenu = this.rowContextMenu = tmenu.menu({
onClick : function(item) {
var fire = $(item.target).attr('fire');
if(fire){
new Function(fire)(); //eval(fire); eval 也是可行的;
}
var pager = grid.datagrid('getPager').pagination('options'); //拿到pager
var pagination = $(item.target).attr('iconCls');
var pageNum = 0
var page = pager.total / pager.pageSize; //总行书 / 每页显示行数 = 总页数
page = Math.ceil(page)
if(pagination == 'pagination-first'){
pageNum = 1;
}
if(pagination == 'pagination-prev'){
pageNum = pager.pageNumber - 1;
}
if(pagination == 'pagination-next'){
pageNum = pager.pageNumber + 1;
}
if(pagination == 'pagination-last'){
pageNum = page;
}
grid.datagrid('getPager').pagination('select',pageNum);
}
});
}else{

}
rowContextMenu.menu('show', {
left : e.pageX,
top : e.pageY
});
var pager = grid.datagrid('getPager').pagination('options'); //拿到pager
var itemFirst = rowContextMenu.menu('findItem','首页');
var itemPrev = rowContextMenu.menu('findItem','上一页');
var itemNext = rowContextMenu.menu('findItem','下一页');
var itemLast = rowContextMenu.menu('findItem','末页');
rowContextMenu.menu('disableItem',itemFirst.target);
rowContextMenu.menu('disableItem',itemPrev.target);
rowContextMenu.menu('disableItem',itemNext.target);
rowContextMenu.menu('disableItem',itemLast.target);
var page = pager.total / pager.pageSize; //总行书 / 每页显示行数 = 总页数
//if(page < 1){ //如果页数小于0
//那么页数 = 1 page = 1;
//}
page = Math.ceil(page)
if(page < 1)
page=page+1;
if(1 < pager.pageNumber && pager.pageNumber < page){
rowContextMenu.menu('enableItem',itemFirst.target);
rowContextMenu.menu('enableItem',itemPrev.target);
rowContextMenu.menu('enableItem',itemNext.target);
rowContextMenu.menu('enableItem',itemLast.target);
}
if(page == pager.pageNumber && pager.pageNumber != 1){
rowContextMenu.menu('enableItem',itemFirst.target);
rowContextMenu.menu('enableItem',itemPrev.target);
}
if(pager.pageNumber == 1 && page != 1){
rowContextMenu.menu('enableItem',itemNext.target);
rowContextMenu.menu('enableItem',itemLast.target);
}
};
$.fn.datagrid.defaults.onRowContextMenu = createGridRowContextMenu;
$.fn.treegrid.defaults.onRowContextMenu = createGridRowContextMenu;

相关文章:

  • SQL中 对逻辑值取反赋值的语句
  • 验证码的前世今生(前世篇)
  • PHP课程总结20161228
  • 公司地址变更:工商、税务变更流程(转)
  • js 获取 url 中的参数, 并保证获取到的参数不乱码
  • sqlserver2005此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法...
  • JAVA 一个或多个空格分割字符串
  • Michael: 变革管理 应对挑战
  • 如何为你的微信小程序瘦身?
  • A卡于N卡的华山论剑
  • C语言 · 矩阵乘法
  • ”残酷“人生第一步
  • OVS local network 连通性分析 - 每天5分钟玩转 OpenStack(132)
  • 一个简单的图片查看器
  • JVM:查看java内存情况命令
  • [nginx文档翻译系列] 控制nginx
  • 【EOS】Cleos基础
  • Android优雅地处理按钮重复点击
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • laravel 用artisan创建自己的模板
  • overflow: hidden IE7无效
  • PaddlePaddle-GitHub的正确打开姿势
  • python_bomb----数据类型总结
  • Python_网络编程
  • React as a UI Runtime(五、列表)
  • React的组件模式
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vue2.0 实现互斥
  • Vue全家桶实现一个Web App
  • 后端_ThinkPHP5
  • 前端
  • 提醒我喝水chrome插件开发指南
  • 问题之ssh中Host key verification failed的解决
  • 我这样减少了26.5M Java内存!
  • 小程序开发之路(一)
  • 新手搭建网站的主要流程
  • 硬币翻转问题,区间操作
  • ​ubuntu下安装kvm虚拟机
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #Linux(权限管理)
  • (12)Linux 常见的三种进程状态
  • (175)FPGA门控时钟技术
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)共用体union的用法举例
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (四)图像的%2线性拉伸
  • (算法设计与分析)第一章算法概述-习题
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)