利用BootStrap Table插件實現自己的彈出框分頁。


參考鏈接1:
    官網:http://bootstrap-table.wenzhixin.net.cn/zh-cn/home/
        開始使用:http://bootstrap-table.wenzhixin.net.cn/zh-cn/getting-started/
        文檔:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
    參考鏈接2:https://www.cnblogs.com/wlandwl/p/bootstrap_table.html

1、第一步、首先,先將基本數據信息以table分頁展示的出來。(即非彈出框分頁的數據,以table分頁的方式展示出來)。

 1 <div style="width:100%; padding: 10px;">
 2     <table id="tablewrap1"
 3        data-toggle="table"
 4        data-locale="zh-CN"
 5        data-ajax="ajaxRequest"
 6        data-single-select="true"
 7        data-side-pagination="server"        //服務端分頁設置:在配置文件中設置分頁方式為服務器分頁。 分頁方式:client客戶端分頁,server服務端分頁(*)
 8        data-striped="true"                  //設置為 true 會有隔行變色效果。
 9        data-pagination="true"               //是否支持分頁
10        data-pagination-first-text="首頁"
11        data-pagination-pre-text="上一頁"
12        data-pagination-next-text="下一頁"
13        data-pagination-last-text="末頁" class="fline-show-when-ready"
14        data-show-jumpto="true">
15          <thead>
16           <tr>
17             <th data-field="id" data-formatter="idFormatter" data-width="40">xx編號</th>
18             <th data-field="name">xx名稱</th>
19             <th data-field="code">xx性別</th>
20             <th data-field="accessType" data-formatter="formatAccessType">xx年齡</th>
21             <th data-field="versionTag">xx生日</th>
22             <th data-field="updateDate" data-formatter="formatDate">xx時間</th>
23             <th data-field="status" data-formatter="formatStatus">xx地址</th>
24             <th data-field="operate" data-formatter="opFormatter">xx操作</th> 
25          </tr>
26         </thead>
27     </table>
28 </div>

2、第二步、先將基本數據信息以table分頁展示的出來,使用的ajax將數據查詢出來,在上面所示的table展示出來。

 1 function ajaxRequest(params) {
 2     var pageSize = params.data.limit;
 3     var pageNum = params.data.offset/pageSize + 1;
 4     index = params.data.offset + 1;
 5     var sort = params.data.sort? params.data.sort : "id";
 6     var order = params.data.order? params.data.order : "desc";
 7     var datas;
 8     var items;
 9     $.ajax({
10         type:'POST',
11         url:'xxxAction!selectStudent.action?pageNum=' + pageNum + '&pageSize=' + pageSize,
12         dataType:'json',
13         async:true,
14         data:$('#searchForm').serialize(),
15         error: function(request, textStatus, errorThrown) {
16             fxShowAjaxError(request, textStatus, errorThrown);
17         },
18         success:function(data){
19             datas = data.result;
20             if(datas != null) {
21                 count = datas.count;
22             }
23             items = datas.items?datas.items:[];
24             params.success({
25                 total: count,
26                 rows: items
27             });
28             params.complete();
29         }
30     });
31 }

3、第三步、第一步<th data-field="operate" data-formatter="opFormatter">xx操作</th> 可以使用如下的方法,點擊xx操作的,然后可以彈出彈出框分頁信息。

 1 function opFormatter(value,row) {
 2     var tmp="'"+row.code+"'";
 3     var name="'"+row.name+"'";
 4     return '<a href="javascript:void(0)" onclick="getxxxDetails('+tmp+","+name+')">點擊彈出框分頁</a>';
 5 }
 6 
 7 如下是彈出框的確定和關閉。
 8 function getxxxDetails(code,name){
 9     $("#tablewrap2").bootstrapTable("selectPage",1);
10     initCatalogTable(code);
11     $("#tenantCatalogTablediv").dialog({
12         title : name+"xxx",
13         width : "900",
14         'class' : "mydialog",
15         onClose : function() {
16             $(this).dialog("close");
17         }
18         ,buttons : {
19             "關閉" : function() {
20                 $(this).dialog("close");
21             }
22         }
23     });
24 }

4、第四步、彈出框分頁的table如下所示。

 1 <div style="display: none;">
 2     <div style="width: 850; padding-top: 8px;" align="left" id="tenantCatalogTablediv" >
 3         <table id="tablewrap2"
 4                data-toggle="table"
 5                data-locale="zh-CN"
 6                data-single-select="true"
 7                data-click-to-select="false"
 8                data-side-pagination="client" //服務端分頁設置:在配置文件中設置分頁方式為服務器分頁。 分頁方式:client客戶端分頁,server服務端分頁(*)
 9                data-striped="true"
10                data-pagination="true"
11                data-pagination-first-text="首頁"
12                data-pagination-pre-text="上一頁"
13                data-pagination-next-text="下一頁"
14                data-pagination-last-text="末頁"
15                >
16             <thead>
17                 <tr>
18                     <th data-field="url" data-formatter="paramsMatter">xx地址</th>
19                     <th data-field="resultCode" >xx姓名</th>
20                     <th data-field="resultMsg" data-formatter="paramsResultMsgr">xx性別</th>
21                     <th data-field="createTime" data-formatter="formatDate">xx年齡</th>
22                 </tr>
23             </thead>
24         </table>
25     </div>
26 </div>

5、第五步、第四步彈出框分頁的table使用如下ajax加載出數據。進行Bootstrap Table 數據綁定。

 1 function initCatalogTable(code){
 2     $.ajax({
 3         type : "POST",
 4         url : 'xxxAction!selectTeacher.action',
 5         data : {'code' : code},
 6         async : false,
 7         error : function(request, textStatus,errorThrown) {
 8             fxShowAjaxError(request, textStatus,errorThrown);
 9         },
10         success : function(data) {
11             data=data.result;
12             if(data==null){
13                 $("#tablewrap2").bootstrapTable('load', []);
14                 return;
15             } 
16             $('#tablewrap2').bootstrapTable('load', data);
17         }
18     });
19 }

 

待續......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM