解決 easyui datagrid 表格 url 中帶有變數時,翻頁功能異常

Joe_vv發表於2015-12-29

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 '<span style="nowrap:false">' + value + '</span>';
            }
        },
        {
            title:'登入時間',field:'logintime',width:fixWidth(0.15),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '<span style="nowrap:false">' + value + '</span>';
            }
        },
        {
            title:'學習軌跡',field:'studypath',width:fixWidth(0.4),align:'center',
            formatter:function(value, row, index) {
                return '<span style="nowrap:false">' + value + '</span>';
            }
        },
        {
            title:'考試軌跡',field:'exampath',width:fixWidth(0.2),align:'center',
            formatter:function(value, row, index) {
                return '<span style="nowrap:false">' + value + '</span>';
            }
        },
        {
            title:'登出時間',field:'logouttime',width:fixWidth(0.1),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '<span style="nowrap:false">' + value + '</span>';
            }
        },
        {
            title:'線上時長(秒)',field:'timeelapsed',width:fixWidth(0.08),align:'center',sortable:true,
            formatter:function(value, row, index) {
                return '<span style="nowrap:false">' + value + '</span>';
            }
        },
        {
            title:'操作',field:'act',width:fixWidth(0.05),align:'center',
            formatter:function(value,rec) {
                return '<a onclick="login_log_del('+rec['id']+')">刪除</a>';
            }
        }
    ]],
    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 的個人部落格,謝謝關注!


相關文章