cdk
2025-06-16 d27cd18610ef82671bc57151e86158d16877b5a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
(function($) {
 
    //pagerFilter方法是在page onSelectPage 事件之后执行,即页签改变之后
    function pagerFilter(data) {
        if($.isArray(data)) { // is array
            data = {
                total: sumDataNo, //后期:这里存放从webAPI接口传过来的总数量
                rows: data //这个data 就是表格的数据集合
            }
        }
        return data; //不用再进行整理剔除不再范围内的行数据
    }
    var sumDataNo = 0; //总行数量
    var loadDataMethod = $.fn.datagrid.methods.loadData;
    var deleteRowMethod = $.fn.datagrid.methods.deleteRow;
    $.extend($.fn.datagrid.methods, {
        clientPaging: function(jq, GetData) {
            return jq.each(function() {
                var dg = $(this);
                var state = dg.data('datagrid');
                var opts = state.options;
                opts.loadFilter = pagerFilter;
                var onBeforeLoad = opts.onBeforeLoad;
                opts.onBeforeLoad = function(param) {
                    state.allRows = null;
                    return onBeforeLoad.call(this, param);
                }
                var pager = dg.datagrid('getPager');
                pager.pagination({
                    onSelectPage: function(pageNum, pageSize) {
                        opts.pageNumber = pageNum;
                        opts.pageSize = pageSize;
                        pager.pagination('refresh', {
                            pageNumber: pageNum,
                            pageSize: pageSize
                        });
                        var dgData = GetData(dg, pageNum, pageSize);
                        dg.datagrid('loadData', dgData);
                        dg.datagrid('selectRow', 0);
                    }
                    //,
                    //onBeforeRefresh: function() {
                    //    return true;
                    //}
                    //,
                    //onRefresh:function(pageNumber, pageSize){
                    //    dg.datagrid('loadData', GetData());
                    //    mui.toast("刷新后~");
                    //}
                    //,
                    //onChangePageSize:function(pageSize){
                    //    mui.toast("选择~");
                    //    dg.datagrid('selectRow', 0);
                    //}
                });
                $(this).datagrid('loadData', state.data);
                if(opts.url) {
                    $(this).datagrid('reload');
                }
            });
        },
        loadData: function(jq, data) {
            if(!data)
                return;
            jq.each(function() {
                $(this).data('datagrid').allRows = null;
            });
            if(data.sumDataNo) {
                sumDataNo = data.sumDataNo;
                return loadDataMethod.call($.fn.datagrid.methods, jq, data.rows);
            } else {
                return loadDataMethod.call($.fn.datagrid.methods, jq, data);
            }
        },
        deleteRow: function(jq, index) {
            return jq.each(function() {
                var row = $(this).datagrid('getRows')[index];
                deleteRowMethod.call($.fn.datagrid.methods, $(this), index);
                var state = $(this).data('datagrid');
                if(state.options.loadFilter == pagerFilter) {
                    for(var i = 0; i < state.allRows.length; i++) {
                        if(state.allRows[i] == row) {
                            state.allRows.splice(i, 1);
                            break;
                        }
                    }
                    $(this).datagrid('loadData', state.allRows);
                }
            });
        },
        getAllRows: function(jq) {
            return jq.data('datagrid').allRows;
        }
        //        ,
        //        onLoadSuccess: function(jq) {
        //            $(this).datagrid('autoSizeColumn');
        //        }
    });
    //分页
    //                $.extend($.fn.pagination.defaults, {
    //                    onBeforeRefresh: function() {
    //                        alert("相背");
    //                        return true;
    //                    },
    //                    onChangePageSize:function(pageSize){
    //                        
    //                    }
    //                });
 
})(jQuery);