zoukankan      html  css  js  c++  java
  • Easyui Datagrid扩展fixRownumber方法

    首先,从datagrid生成的代码,我们可以发现,在rowNumber上都有特定的class标记,datagrid-cell-rownumber,datagrid-header-rownumber.

    $.extend($.fn.datagrid.methods, {
    fixRownumber : function (jq) {
    return jq.each(function () {
    var panel = $(this).datagrid("getPanel");
    //获取最后一行的number容器,并拷贝一份
    var clone = $(".datagrid-cell-rownumber", panel).last().clone();
    //由于在某些浏览器里面,是不支持获取隐藏元素的宽度,所以取巧一下
    clone.css({
    "position" : "absolute",
    left : -1000
    }).appendTo("body");
    var width = clone.width("auto").width();
    //默认宽度是25,所以只有大于25的时候才进行fix
    if (width > 25) {
    //多加5个像素,保持一点边距
    $(".datagrid-header-rownumber,.datagrid-cell-rownumber", panel).width(width + 5);
    //修改了宽度之后,需要对容器进行重新计算,所以调用resize
    $(this).datagrid("resize");
    //一些清理工作
    clone.remove();
    clone = null;
    } else {
    //还原成默认状态
    $(".datagrid-header-rownumber,.datagrid-cell-rownumber", panel).removeAttr("style");
    }
    });
    }
    });

    JS:

    $("#easyui-datagrid").datagrid({
    onLoadSuccess : function () {
    $(this).datagrid("fixRownumber");
    }
    });

  • 相关阅读:
    c语言cgi笔记
    End of script output before headers错误解决方法
    我的树莓派3配置脚本
    Qt学习(4)
    Qt学习(3)
    Qt学习(2)
    Qt学习(1)
    C++ Primer中文版(第五版)——第六章 函数
    C++ 11 ----Lambda表达式
    Java SPI 源码解析
  • 原文地址:https://www.cnblogs.com/huangf714/p/5898812.html
Copyright © 2011-2022 走看看