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

    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思