• easyui 一些小技巧


    一、显示分页(pagination:true)情况下,隐藏每页显示的记录条数的那个select(即pageList),下图箭头

    方法1:
    onBeforeLoad:function(param){
        $('#'+$(this)[0].id).datagrid('getPager').pagination({
            showPageList:false
        });
    },
    onLoadSuccess:function(data){
        $('#'+$(this)[0].id).datagrid('getPager').pagination({
            showPageList:false
        });
    }

    方法2:
    onBeforeLoad:function(param){
        $('.pagination-page-list').hide();
    },
    onLoadSuccess:function(data){
        $('.pagination-page-list').hide();
    }

    方法3:
    css样式:select.pagination-page-list{display:none}

    方法4:

    $("#dgOrderList").datagrid({
        url:'。。。',
        queryParams:{。。。},
    });

    写在datagrid获取数据url之后,

            $("#dgOrderList").datagrid('getPager').pagination({
                showPageList: false
            });


    二、在第n页,检索,利用queryParams方法,datagrid组装参数时,会自动添加page=n,而不会切换到第1页

    方法1:

        $("#dgOrderList").datagrid({
            pageNumber:1,
            url:url,
            queryParams:{key:name,value:value}
        });
    方法2:用load方法

        $dgOrderList.datagrid('load',param);//会自动添加&page=1&rows=。。

    param为空对象时:$('#dgWorkers').datagrid('load',{});//会去除page、rows以外的参数,且置page=1

    三、个人常用,mark一下

        $.messager.confirm('提示','确定要删除所选项目吗?',function(r){

            if (r){}
        })

    四、linkbutton的disabled并不阻止事件,需要在事件中进行判断
        if($(this).linkbutton('options').disabled){
                return false;

        }

     

    五、 dialog闪现问题。在一个页面使用一个dialog,初始隐藏(closed="true"),但是在页面刷新的一瞬间,这个dialog会显示出来,效果非常难看
    方法一:
    <div style="display:none">
        <div class="easyui-dialog"></div>
    </div>
    dialog用一个隐藏div包含起来,一个div包好几个diglog也可以,显示的时候直接dialog('open')就可以

    方法二:

    设定dialog的style  display:none,然后在页面加载完后再让它display:block或show(),或者$('dialog').show().dialog('open')

     

    六、显示尾行合计(图片与下文无关)

        方法一,加载后在js中计算,但对formatter的列无效

    //表格定义时显示footer
            showFooter:true,

    //定义加载成功事件,列名:数据

            onLoadSuccess:function(data){

    $(this).datagrid('reloadFooter', [{
                    heJi:'合计',
                    tNo:compute(data.rows, "tNo"),
                            workhour:compute(data.rows, "workhour"),
                    pay:compute(data.rows, "pay"),
                }]);
             },


        //定义合计函数
        function compute(rows,colName) {
            var total = 0;
            for (var i = 0; i < rows.length; i++) {
                total += parseFloat(isNaN(rows[i][colName])||$.trim(rows[i][colName])==''?0:rows[i][colName]);
            }
            return parseFloat(total.toFixed(2));
        }


        方法二、后台返回一个footer行(PHP为例)


        showFooter:true,

        //footer行对应列要显示的内容,如合计后的内容,可以加一个标识如footer,用于标明改行是footer内容,在formatter时可能会用到
        $footer=array(array('heJi'=>'合计','tNo'=>$tNo,'workhour'=>$workhour,'pay'=>$pay,'footer'=>1));

    //返回数据中以footer为键值
        echo json_encode(array('code'=>1,'msg'=>'查询成功','total'=>count($rows),'rows'=>$rows,'footer'=>$footer));
        
        注:footer行的显示同样受formatter影响

    七、获得当前选中的tabs

     

    1、 var index=$('#tabs').tabs('getTabIndex',$('#tabs').tabs('getSelected')); //从0开始

    2、tabs的onSelect改变一个全局变量的值,用于标记选中的tab


  • 相关阅读:
    Java中的break和continue关键字使用总结
    Java Foreach语句使用总结
    Android的线程(Thread)和服务(Service)的区别
    Android终止无限循环线程和程序退出时销毁线程
    IoC(Inversion of Control,控制反转)模式
    浅谈手机app测试注意点
    Android获取手机相关信息
    深搜
    5种排序方式
    一个简单的文本编辑器
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352200.html
Copyright © 2020-2023  润新知