ti_baby_hu 2016-08-05 03:36 采纳率: 0%
浏览 1170
已结题

easyui表格行号出错的问题

easyui datagrid rownumber 初始表格的时候是正常的显示,行内编辑里面包含了一个combobox
,当点出修改的时候,如果编辑的是第一行,那它的行号就变成了010,如果是第二行的话就变成 了020
找不到错误。请问有没有碰到过这样问题。谢谢

  • 写回答

2条回答 默认 最新

  • 鱼弦 全栈领域优质创作者 2016-08-05 03:44
    关注

    解决方法是在datagrid 的 onLoadSuccess 事件中加入如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var opts = $(this).datagrid('options');
    if(opts.rownumbers){
    var dgPanel = $(this).datagrid('getPanel');
    var tdRownumber = dgPanel.find('.datagrid-header-rownumber').parent();
    var hasFrozenColumns = $(this).datagrid('getColumnFields',true);
    if(hasFrozenColumns.length){
    var dgView2 = dgPanel.find('.datagrid-view2');
    var trCount = dgView2.find('.datagrid-header tr').length;

                      tdRownumber.attr('rowspan',trCount);
                  }
              }
    
    
    

    2.

    $.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");
    }
    });
    }
    });

    
    

    将上述代码添加到easyui源码当中即可

    然后在你的$(“#dg”).datagrid()中添加onLoadSuccess事件
    $("#dg").datagrid({
    onLoadSuccess : function () {
    $(this).datagrid("fixRownumber");
    }
    });

    
    
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大