easyui datagrid分頁代碼

   最近在用easyui插件想做個分頁效果,於是在網上找了好幾天,可能是架構的問題,沒有找到哪篇文章能照抄過來就能用的,當時那個頭大啊,現在做好了,整理出來與大家分享。其中黑體爲重點,其它的不是每個人都這麼寫的,不需要特別關注。

//獲取列名、設置分頁
function loadGridClomns() {
    var cols = $.data(document.body, "selectcols");
    postAjax("Report", "CreateGridCol", "&selectcols=" + cols, function (json) {
        if (!json.iserror) {
            $("#grid").datagrid({
                singleSelect: true,
                rownumbers: true,
              pagination: true,//設置分頁
              pageSize: 15,//設定每頁顯示15條數據
              pageList: [10, 15, 20, 25, 30],
                frozenColumns: [json.frozenColumns], //後臺json構造的動態列,需指定寬度
                columns: [json.columns1, json.columns2]  //後臺自動獲取的列名
            });
        }
    });
}


 //查詢
 $("#getprefrominfo").click(function () {
        var cols = $.data(document.body, "selectcols");
        if (cols == null) {
            AlertMsg("請選擇列!");
            return;
        }
        else {
            $("#grid").datagrid("loading");
            var index = 0; //0爲查詢
            var qp = {
                cols: cols,
                sortway: $.data(document.body, "sortway"),
                index: index
            };
            $("#result").empty();
            $("#grid").datagrid({
                queryParams: qp,      //datagrid中自帶的傳值函數
                //這邊可以不用queryParams傳值,可以寫成:
                // url: '/report/PreformDrawInfo_Get?_=' + radomnum(1000)+data,
                //其中data爲字符串類型的數據
                //但是在IE下不用queryParams的話,數據中出現中文字符或出現亂碼

                url: '/report/PreformDrawInfo_Get?_=' + radomnum(1000),
                onRowContextMenu: function (e, rowIndex, rowData) {   //右鍵菜單的觸發事件
                    $.data(document.body, "selectupdaterodno", rowData['入庫棒號']); //將右鍵選中的數據放在數據緩存中
                    $('#menu').menu('show', {
                        left: e.pageX,    //右鍵菜單座標
                        top: e.pageY
                    });
                    e.preventDefault();//阻止瀏覽器彈出自帶的右鍵菜單
                }
            });
        }
    });

//只要代碼寫的沒問題,easyui下面的分頁插件中,比如選擇每頁顯示多少行和上一頁、下一頁事件是自動觸發的。
//page和rows也是esyui每次自動傳到後臺的,不需要自己手寫

//如:
var index = Convert.ToInt32(Request["index"]);
var page = Convert.ToInt32(Request["page"]);
var rows = Convert.ToInt32(Request["rows"]);

//最重要的是在後臺取數據放在json中要添加個參數total來存放數據的總行數,如果沒有這個參數則不能分頁
比如:json.Data = new { rows = common.EasyJson(dt), total = totalrows };

發佈了141 篇原創文章 · 獲贊 18 · 訪問量 58萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章