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记录的用户数判断,是否显示分页。
个人感觉代码不完美,还可以继续优化下。