解决 easyui datagrid 表格 url 中带有变量时,翻页功能异常

easyui datagrid 表格 url 中带有变量时,翻页功能异常。

表格定义如下:

$('#login-log').datagrid({
    border:false,
    fit:true,
    fitColumns:true,
    pageSize: 20,
    pageList: [20,30,40,50],
    nowrap:false,
    collapsible:false,
    url:'__URL__/query1/uid/' + window.uc_uid,
    loadMsg:'数据处理中......',
    sortName:'id',
    sortOrder:'desc',
    frozenColumns:[[
        {field:'ck',checkbox:true}
    ]],
    columns:[[
        {
            title:'编号',field:'id',width:fixWidth(0.05),align:'center',sortable:true,
            formatter:function(value,rec) {
                return '#'+value;
            }
        },
        {
            title:'用户名',field:'username',width:fixWidth(0.1),align:'center',
        },
        {
            title:'登录 IP',field:'loginip',width:fixWidth(0.15),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '' + value + '';
            }
        },
        {
            title:'登录时间',field:'logintime',width:fixWidth(0.15),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '' + value + '';
            }
        },
        {
            title:'学习轨迹',field:'studypath',width:fixWidth(0.4),align:'center',
            formatter:function(value, row, index) {
                return '' + value + '';
            }
        },
        {
            title:'考试轨迹',field:'exampath',width:fixWidth(0.2),align:'center',
            formatter:function(value, row, index) {
                return '' + value + '';
            }
        },
        {
            title:'登出时间',field:'logouttime',width:fixWidth(0.1),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '' + value + '';
            }
        },
        {
            title:'在线时长(秒)',field:'timeelapsed',width:fixWidth(0.08),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '' + value + '';
            }
        },
        {
            title:'操作',field:'act',width:fixWidth(0.05),align:'center',
            formatter:function(value,rec) {
                return '删除';
            }
        }
    ]],
    pagination:true,
    rownumbers:true,
    toolbar: '#uc-tb1',
});

虽然url中带有变量,但是在初始化的时候 url 已经固定了,不管后面 变量的值如何变化,url 还是一定的,所以在翻页的时候没办法改变 url 的值,所以只能重写翻页事件,如下:

// 由于datagrid的url中带有变量window.uc_uid,故翻页时需要重新定义事件
$('#login-log').datagrid('getPager').pagination({
    onSelectPage: function (pageNumber, pageSize) {
        PageDataGridView(pageNumber, pageSize);//重新加载
    }
});

function PageDataGridView(pi,ps) {
    $.ajax({
        type: "POST",
        url: '__URL__/query1/uid/' + window.uc_uid,
        data: {"page":pi,"rows":ps,"order":"logintime"},
        async: false,
        success: function (ret) {
            if (ret == "0") {
                $("#login-log").datagrid("loadData", { total: 0, rows: [] });
            } else {
                var data = eval("(" + ret + ")");
                $("#login-log").datagrid("loadData", data);
            }
        },
        error: function (ret) {
            $('#login-log').datagrid('clearSelections');
        }
    });
}

这样,就OK了。


参考:http://m.blog.csdn.net/blog/xiaolong2850/40538209



博主所有文章已转自私人博客 Joe 的个人博客,谢谢关注!


你可能感兴趣的:(easyui,datagrid,pagination)