easyUI中datagrid的高度获取

  • 问题:easyui中的datagrid,想要生成合适的高度(自适应),并且不会出现侧边滚动条。

解决思路一:

onLoadSuccess:function() {
    var heightCount = $(this).datagrid("getRows").length;//获取datagrid一共多少行
    $(this).datagrid("clearSelections");
    var heightPlus = (heightCount + 2) * 36;//每一行36px,加表格标题36px,加操作栏36px.
    $(window.parent.document).find(".tabs-content-iframe-12").css("height",heightPlus);
        },

测试发现上面的方法只能解决行内的内容是固定高度的,比如换行或者行内定义了多行的情况,还是不能准确计算datagrid的合适高度,于是要想其他的解决办法。

解决思路二:

onLoadSuccess:function() {
    var heightPlus = 0;//datagrid的高度
    $(".datagrid-btable").each(function(){
        if($(this).index()==0){
            $(this).children().children("tr").each(function(){
                heightPlus += $(this).height();
                            })
                        }
                    });
    $(this).datagrid("clearSelections");
    heightPlus += 2 * 36;//加表格标题36,加操作栏36
    $(window.parent.document).find(".tabs-content-iframe-12").css("height",heightPlus);
                },

通过遍历datagrid中每一个row的高度,然后让它们叠加,这样就能比较完美的解决行内换行或者行内嵌套的问题。高度也可以自适应。

你可能感兴趣的:(工作需求解决方案)