zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    leetcode 13. Roman to Integer
    python 判断是否为有效域名
    leetcode 169. Majority Element
    leetcode 733. Flood Fill
    最大信息系数——检测变量之间非线性相关性
    leetcode 453. Minimum Moves to Equal Array Elements
    leetcode 492. Construct the Rectangle
    leetcode 598. Range Addition II
    leetcode 349. Intersection of Two Arrays
    leetcode 171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/huangf714/p/6229308.html
Copyright © 2011-2022 走看看