easyui datagrid分页动态显示

datagrid分页动态显示

项目中有个页面需要按用户数多少来确定是否分页,大于1024个用户则分页。

function userListShow(){
    selectedUserames = [];
    var role_name = $('input[name="aaaa_role_name"]').val();
    var getPager = true;
    $('#userList').datagrid({
        fitColumns: true,
        striped: true,
        nowrap: true,
        border: false,
        remoteSort: false,
        collapsible: true,
        url: '?c=Auth/User&a=userinfoJsondata&role_name='+role_name,
        frozenColumns: [
                [{
                    field: 'ck',
                    checkbox: true
                }]
        ],
        columns: [[
            {field: 'userName', title: '账号名称', align: 'left', resizable: true, width: 100, editor: 'text'},
            {field: 'userDescription', title: '描述', align: 'left', resizable: true, width: 100, editor: 'text'},
            {field: 'userGroup', title: '所属父组', align: 'left', resizable: true, width: 100, editor: 'text'},
        ]],
        loadMsg: '请等待,数据正在加载......',
        toolbar: [{
            id: 'user_search',
            text: $LANG.SEARCH,
            iconCls: 'icon-search',
            handler: user_web_search
        }],
        idField: 'userName',
        pageSize: 20,
        pageList: [10,20,50,100],
        pagination: true,                
        onSelect: userListEvents,
        onUnselect: userListEvents,
        onCheck: userListEvents,
        onUncheck: userListEvents,
        onClickRow: userListEvents,
        onSelectAll:userListEvents,
        onUnselectAll:userListEvents,
        onBeforeLoad:function(data) {
            $('#userList').datagrid('getSelections').forEach(function(user) {
                selectedUserames.push(user.userName);
            })
        },
        onLoadSuccess:function(data){
            if(data){
                $.each(data.rows,function(index,item){
                    if(item.checked){
                        $('#userList').datagrid('checkRow',index);
                    }
                });
            }

            selectedUserames.forEach(function(username) {
                var users = data.rows.filter(function(user) { user.userName == username });
                if (users.length)
                    $('#userList').datagrid('checkRow', users[0].userName);
            });
        }
    });
    var options={};
    $('#userList').datagrid(options); 
    if(param[0] < 1024) {
        $('#userList').datagrid('options').pagination = false;
        $('#userList').datagrid('getPager').pagination({pagination: false});
        $('#userList').datagrid('load'); 

        $('.datagrid-pager').css('display','none');               
    }else {
        $('#userList').datagrid('options').pagination = true;
        $('#userList').datagrid('getPager').pagination({pagination: true});
        $('#userList').datagrid('load'); 

        $('.datagrid-pager').css('display','');                
    }          
}

通过param记录的用户数判断,是否显示分页。
个人感觉代码不完美,还可以继续优化下。

猜你喜欢

转载自blog.csdn.net/printxfh/article/details/80022135