table展示数据,数据分页查询,底部导航生成

 XML Code 
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
$(function () {
    dynGenPagingDataAndList(dataInfos, allRecords, pageSize, curPage);
});

/* 动态生成数据记录 和分页列表导航 * /
function dynGenPagingDataAndList(dataInfosParam, allRecordsParam, pageSizeParam, curPageParam) {
    var jsonObjectArray = eval(dataInfosParam);
    
    if(jsonObjectArray.length == 0) {
            $( "#favoriteInfoTbody").html( "");
        $( "#favoriteInfoTbody").append(' <b style= "font-size: 14px;" >暂无收藏报表数据 </b>');
        return;
    }
    
    curPage = curPageParam;
    pageSize = pageSizeParam;
    allRecords = allRecordsParam;
    
    var recordSizeParam = jsonObjectArray.length;
    
    serialNumber = (curPageParam - 1) * pageSizeParam + 1;
    
    dynGenDataRecord(jsonObjectArray);
    
    getDynGenPagingList('pagingNavigation', 'myfavorite', '?{uriPath}', allRecordsParam, pageSizeParam, curPageParam, recordSizeParam);
    
    tableChangeColor();
}

/* 动态生成数据记录 * /
function dynGenDataRecord(jsonObjectArrayParam) {
    var shareTemplate;
    
    var dynGenPagingInfoStr =  "";
    
    var myFavoriteInfoTr = ' <tr class= "table-tr-content" ><td>#serialNumber </td><td><a style= "text-decoration: underline;"  onclick= "javascript:openDashboard(\'#menu_action\')" >#menu_name </a></td><td>#app_type </td><td>#source_type </td><td>#source_user </td><td>#favorite_date </td><td>#shareTemplate <a style= "text-decoration: underline;"  onclick= "javascript:cleFavoriteReport(\'#menu_id\')" >删除 </a></td></tr>';
    
    if(sharePriority == '0') {
        shareTemplate =  "";
  }
    else {
        shareTemplate = ' <a name= "shareOperate"  style= "text-decoration: underline;"  onclick= "javascript:bindingShareOperate(\'#menu_id\', \'#menu_name\');" >共享 </a>  ';
    }
    
    for(var i = 0; i  < jsonObjectArrayParam.length; i++) {          
        dynGenPagingInfoStr += myFavoriteInfoTr.replace( /#shareTemplate /g, shareTemplate).
              replace( /#serialNumber /g, serialNumber++).
              replace( /#menu_action /g, jsonObjectArrayParam[i].MENU_ACTION). 
                replace( /#menu_name /g, jsonObjectArrayParam[i].MENU_NAME).  
                replace( /#menu_id /g, jsonObjectArrayParam[i].MENU_ID).
                replace( /#app_type /g, jsonObjectArrayParam[i].APP_TYPE).
                replace( /#source_type /g, jsonObjectArrayParam[i].SOURCE_TYPE).
                replace( /#source_user /g, jsonObjectArrayParam[i].SOURCE_USER).
                replace( /#favorite_date /g, jsonObjectArrayParam[i].FAVORITE_DATE);          
    }
    
    $( "#favoriteInfoTbody").html( "");
    $( "#favoriteInfoTbody").append(dynGenPagingInfoStr);
}
==========================================================================================================================================
pagingNavigation.css
 XML Code 
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
.a_selected {
   margin: 0px 1px 0px 1px;
   padding: 0px 5px 0px 5px;
}

.a_no_select {
   margin: 0px 1px 0px 1px;
   padding: 0px 8px 0px 8px;
   border: 1px solid #BEBEBE;
   background: #E0E0E0;
}

.a_no_select:hover {
   color: #fff;
   cursor: pointer;
   background-color: #cc0000;
   text-decoration: none;
}

.div_left {
   float: left;
   padding-left: 10px;
   font-size: 14px;
}

.input_button {
   width: 45px;
   font-size: 14px;
   text-align: center;
}

==========================================================================================================================================
tableData.css
 XML Code 
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
   table {
      width: 100%;
      padding-left: 5px;
      font-size: 14px;
      border-collapse: collapse;
   }
   
   table td {
      width: 15%;
      height: 45px;
      border: 1px solid #aaa;
   }
   
   input {
      width: 30px;
      font-size: 14px;
      text-align: center;
   }
   
   a {
      text-align: left;
      font-size: 14px;
      font-weight: bold;
      color: #3b3b3b;
   }
   
   a:hover {
      color: #e84242;
      cursor: pointer;
   }
   
   
   .div_content {
      padding-left: 6%;
      height: 50px;
      line-height: 50px;
   }

    .table-tr-title{
        height: 26px;
        font-size: 14px;
        text-align: center;
    }
    
    .table-tr-content{
        height: 18px;
        background: #FFFFFF;
        text-align: center;
        font-size: 14px;
    }
    
    .normalEvenTD{
        background: #DFD8D8;
    }
    
    .normalOddTD{
        background: #FFFFFF;
    }
    
    .hoverTD{
        background-color: #eafcd5;
        height: 18px;
        text-align: center;
        font-size: 14px;
    }
    
    .trSelected{
        background-color: #51b2f6;
        height: 18px;
        text-align: center;
        font-size: 14px;
    } 

==========================================================================================================================================
pagingNavigation.js
 XML Code 
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
     /* 动态生成分页列表  * /    
    function getDynGenPagingList(pagingNavigationId, operateType, uriPath, allRecordsParam, pageSizeParam, curPageParam, recordSizeParam) {
         /* 分页码显示窗口大小 * /
        var pagingCodeShowSize = 6;
        var dynGenPagingInfoStr =  "";
         /* 总页数 * /
        var allPages = Math.ceil(allRecordsParam /pageSizeParam);
         /* 上一页 * /
        var prePage = parseInt(curPageParam) - 1;
         /* 下一页 * /
        var nextPage = parseInt(curPageParam) + 1;
         /* 尾页 * /
        var lastPage = allPages;
         /* 当前页开始记录编号 * /
        var curPageStartRecord = prePage * pageSizeParam + 1;
         /* 当前页结束记录编号 * /
        var curPageEndRecord = curPageStartRecord + recordSizeParam - 1;
        curPageEndRecord = curPageEndRecord  > allRecordsParam ? allRecordsParam : curPageEndRecord;
         /* 从第几页开始显示分页信息 * /
        var pagingCodeBegin = 0;
         /* 分页信息显示到第几页  * /
        var pagingCodeEnd = 0;
        var pagingOperationTemplate = ' <a class= "a_no_select"  onclick= "javascript:clicknav(\'' + uriPath + '?action=asynRequest&type=' + operateType + '&curPage=#curPage&pageSize=' 
                + pageSizeParam + '\') ">#value</a>';
        var noOperationTemplate = ' <a class= "a_no_select" >#value </a>';
        
        dynGenPagingInfoStr += ' <div class= "div_left" >当前第#curPage /#allPages页,第#startRecord-#endRecord /#allRecords条记录 </div>'.
            replace( /#curPage /g, curPageParam).replace( /#allPages /g, allPages).
            replace( /#startRecord /g, curPageStartRecord).replace( /#endRecord /g, curPageEndRecord).
            replace( /#allRecords /g, allRecordsParam);
        
        dynGenPagingInfoStr += ' <div class= "div_left"  style= "display:inline-block;" >';
         /* 显示首页、上一页 * /
        if(allPages  > 1) {
            dynGenPagingInfoStr += pagingOperationTemplate.replace( /#curPage /g, 1).
                replace( /#value /g,  "<<");
            if(prePage  > 0) {
                dynGenPagingInfoStr += pagingOperationTemplate.replace( /#curPage /g, prePage).
                replace( /#value /g,  "<");
            }
            else {
                dynGenPagingInfoStr += noOperationTemplate.replace( /#value /g,  "<");
            }
        }
        
         /* =======================计算开始、结束分页码======================== * /
        pagingCodeEnd = parseInt(curPageParam) + Math.floor(pagingCodeShowSize /2) - 1;
        if(pagingCodeEnd  > allPages) {
            pagingCodeEnd = allPages;
        }
        
        pagingCodeBegin = curPageParam - Math.floor(pagingCodeShowSize /2) + 1;
        if(pagingCodeBegin  1 ) {
            pagingCodeBegin 
=   1 ;
        }
        /* 
======================= 计算开始、结束分页码========================  */
        
        /* 
============================ 显示分页码===========================  */
        if(pagingCodeBegin >
 1) {
            dynGenPagingInfoStr +=  ' <a class= "a_selected" >... </a>';
        }
        
        for(var i = pagingCodeBegin; i  <= pagingCodeEnd; i++) {
            if(curPageParam != i) {
                dynGenPagingInfoStr += pagingOperationTemplate.
                    replace( /#curPage /g, i).replace( /#value /g, i);
            }
            else {
                dynGenPagingInfoStr += ' <a class= "a_selected" ><b style= "color: red;" >#pagingCode </b></a>'.replace( /#pagingCode /g, i);
            }
        }
        
        if(pagingCodeEnd  < allPages) {
            dynGenPagingInfoStr +=  ' <a class= "a_selected" >... </a>';
        }
         /* ============================显示分页码=========================== * /
        
         /* 显示末页、下一页 * /
        if(curPageParam  <= allPages) {      
            if(nextPage  <= allPages) {
                dynGenPagingInfoStr += pagingOperationTemplate.replace( /#curPage /g, nextPage).
                replace( /#value /g,  ">");
            }
            else {
                dynGenPagingInfoStr += noOperationTemplate.replace( /#value /g,  ">");
            }
            
            dynGenPagingInfoStr += pagingOperationTemplate.replace( /#curPage /g, lastPage).
                replace( /#value /g,  ">>");
        }
        dynGenPagingInfoStr += ' </div>';
        
        if(allPages  > 1) {
            dynGenPagingInfoStr += (' <div class= "div_left" >到第 <input id= "skipToPage"  value= "#curPage" />页'.replace( /#curPage /g, curPageParam)
            + ' <input class= "input_button"  type= "button"  onclick= "javascript:skipToNPage(\'' + uriPath + '?action=asynRequest&type=' + operateType + '&curPage=#curPage&pageSize=#pageSize, #allPages\')"  value= "确定" /></div>').replace( /#pageSize /g, pageSizeParam).
            replace( /#allPages /g, allPages);
        }
        
        dynGenPagingInfoStr += (' <div class= "div_left" >当页显示 <input id= "pageSize"  value= "#pageSizeValue"  onchange= "javascript:changePageSize(\'' + uriPath + '?action=asynRequest&type=' + operateType + '&curPage=#curPage&pageSize=#pageSize\')" />条记录 </div>').replace( /#curPage /g, curPageParam).
                replace( /#pageSizeValue /g, pageSizeParam);
        
        var startJinHao = pagingNavigationId.indexOf( "#");
        if(startJinHao == -1){
            pagingNavigationId =  "#" + pagingNavigationId;
        }
        
        $(pagingNavigationId).html( "");
        $(pagingNavigationId).append(dynGenPagingInfoStr);
    }
    
     /* 跳转到某页 * /
    function skipToNPage(pagingUrlParam, allPagesParam) {
        var skipToPage = parseInt($( "#skipToPage").val());
        if(skipToPage  1  || skipToPage > allPagesParam) {
            alert('请输入1-' + allPagesParam + '的数字');
            return;
        }
        
        clicknav(pagingUrlParam.replace( /#curPage /g, skipToPage));
    }
    
     /* 改变显示记录数 * /
    function changePageSize(pagingUrlParam) {
        if(!$.isNumeric($( "#pageSize").val())) {
            alert('请输入数字');
            return;
        }
        
        var pageSize = parseInt($( "#pageSize").val());
        if(pageSize  <= 0) {
            alert( "请输入大于0的数字");
            return;
        }
        
        clicknav(pagingUrlParam.replace( /#pageSize /g, pageSize));
    }   
    
     /* 分页操作 * /
    function clicknav(pagingUrlParam) {
        $.getJSON(pagingUrlParam, 
            function (jsonObject){
                dynGenPagingDataAndList(jsonObject.dataInfos, jsonObject.allRecords, jsonObject.pageSize, jsonObject.curPage);
        });
    }

==========================================================================================================================================
tableData.js
 XML Code 
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
function tableChangeColor() {
    var dtSelector =  ".list";
    var tbList = $(dtSelector);
    
    tbList.each(function() {
        var self = this;
         // 从标头行下一行开始的奇数行,行数:(1,3,5...)
        $( "tr:odd", $(self)).addClass( "normalEvenTD"); 
         // 从标头行下一行开始的偶数行,行数:(2,4,6...)
        $( "tr:even", $(self)).addClass( "normalOddTD"); 
        
         // 鼠标经过的行变色
        $( "tr:not(:first)", $(self)).hover(
            function () { $(this).addClass('hoverTD');$(this).removeClass('table-td-content'); },
            function () { $(this).removeClass('hoverTD');$(this).addClass('table-td-content'); }
        );
    
         // 选择行变色
        $( "tr", $(self)).click(function (){
            var trThis = this;
            $(self).find( ".trSelected").removeClass('trSelected');
            if ($(trThis).get(0) == $( "tr:first", $(self)).get(0)){
            return;
            }
            $(trThis).addClass('trSelected');
            });
    }); 
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值