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: , editor: 'text'},
{field: 'userDescription', title: '描述', align: 'left', resizable: true, width: , editor: 'text'},
{field: 'userGroup', title: '所屬父組', align: 'left', resizable: true, width: , editor: 'text'},
]],
loadMsg: '請等待,資料正在加載......',
toolbar: [{
id: 'user_search',
text: $LANG.SEARCH,
iconCls: 'icon-search',
handler: user_web_search
}],
idField: 'userName',
pageSize: ,
pageList: [,,,],
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[].userName);
});
}
});
var options={};
$('#userList').datagrid(options);
if(param[] < ) {
$('#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記錄的使用者數判斷,是否顯示分頁。
個人感覺代碼不完美,還可以繼續優化下。