BootStrap Table 은 server 페이지 번호 연속 표시 기능 을 실현 합 니 다(현재 페이지 는 이전 페이지 의 끝 번호 부터)
이것 은 1 페이지 의 번호 로 1-4 이다.
이것 은 2 페이지 의 번호 로 5-8 이다.
이것 은 server 페이지 의 1 페이지 이 고 번 호 는 1-4 이다.
이것 은 server 페이지 의 5 페이지 이 고 번호 도 1-4 이다.
해결 절차
이 문제 가 발생 한 이 유 는 무엇 입 니까?우리 가 사용 하 는 formatter 가 되 돌아 오 는 index 매개 변 수 는 표 의 색인 입 니 다.client 의 모든 n 개의 총 데 이 터 는 클 라 이언 트 에 있 습 니 다.index 는 1-n 이 고 server 페이지 는 서버 마다 현재 페이지 의 데이터 만 클 라 이언 트 에 되 돌아 오기 때문에 index 는 1-pageSize 만 있 고 pageSize 는 한 페이지 의 데이터 양 입 니 다.그래서 이 문제 가 생 겼 습 니 다.
server 서버 가 한 페이지 의 데이터 만 되 돌려 주 는 이유 로 페이지 를 넘 길 때마다 번호 가 1 부터 시작 되 는 문제 에 대해 서 는 서버 와 클 라 이언 트 의 페이지 데 이 터 를 연결 해 야 하기 때문에 우 리 는 원본 formatter 를 바탕 으로 수정 하여 이 인 자 를 전달 하면 ok 입 니 다.
먼저 boostrap table 의 js 소스 코드 를 보면 내부 함수 의 쓰기 방법 을 볼 수 있 습 니 다.예 를 들 어:
BootstrapTable.prototype.showRow = function (params) {
this.toggleRow(params, true);
};
그러면 우 리 는 스스로 기능 함 수 를 정의 할 수 있 습 니까?답 은 긍정 적 이 며,우리 도 우리 가 필요 로 하 는 색인 값 을 되 돌려 주 는 함 수 를 그대로 쓰 고 있다.정 의 는 다음 과 같 습 니 다.
BootstrapTable.prototype.getPage = function (param) {
return this.options.pageSize * this.options.pageNumber + 1;
}
우리 가 이 함수 가 색인 파 라 메 터 를 전달 할 수 있 는 이 유 는 pageSize 와 pageNumber 자체 가 boottstrap table 의 내부 매개 변수 이 고 모두 options 에 통합 되 어 있 기 때문에 이 매개 변 수 를 가지 고 있어 야 함수 가 이 값 을 되 돌려 줄 수 있 습 니 다.함 수 를 잘 쓰 려 면 이 함 수 를 내부 함수 목록 에 써 야 합 니 다.그렇지 않 으 면 사용 할 수 없습니다.다음 과 같이 getIndex 를 원래 함수 처럼 삽입 합 니 다(네 번 째 줄).
var allowedMethods = [
'getOptions',
'getSelections', 'getAllSelections', 'getData', 'getIndex',
'load', 'append', 'prepend', 'remove', 'removeAll',
'insertRow', 'updateRow', 'updateCell', 'updateByUniqueId', 'removeByUniqueId',
'getRowByUniqueId', 'showRow', 'hideRow', 'getHiddenRows',
'mergeCells',
'checkAll', 'uncheckAll', 'checkInvert',
'check', 'uncheck',
'checkBy', 'uncheckBy',
'refresh',
'resetView',
'resetWidth',
'destroy',
'showLoading', 'hideLoading',
'showColumn', 'hideColumn', 'getHiddenColumns', 'getVisibleColumns',
'showAllColumns', 'hideAllColumns',
'filterBy',
'scrollTo',
'getScrollPosition',
'selectPage', 'prevPage', 'nextPage',
'togglePagination',
'toggleView',
'refreshOptions',
'resetSearch',
'expandRow', 'collapseRow', 'expandAllRows', 'collapseAllRows',
'updateFormatText'
];
이렇게 하면 우 리 는 표 에서 사용 할 수 있 습 니 다.formatter 에서 getIndex 방법 을 사용 하여 페이지 번호 의 연속(editable:{...}은 줄 편집 입 니 다.다른 블 로 그 를 보십시오):
$("tb_departments").bootstrapTable({
method: 'post', //
height: 500,
toolbar: '#toolbar', //
striped: true, //
cache: false, // , true, (*)
pagination: true, //
sortable: true, //
sortOrder: "asc", //
sidePagination: "server", // :client ,server
pageNumber: 1, // ,
pageSize: 4, // (*)
pageList: [4, 20, 25, 30], // (*)
//search: true, // , , , ,
strictSearch: true,
//showPaginationSwitch: true,
showExport: true,
exportDataType: "all",
showExport: true, //
buttonsAlign:"right", //
exportTypes:[ 'csv', 'txt', 'excel', 'pdf'], //
Icons:'glyphicon-export',
showColumns: true, //
showToggle:true, //
showExportAll:true, //
showRefresh: false, //
minimumCountColumns: 1, //
clickToSelect: true, //
cardView: false, //
detailView: false, //
showHeader: true,
onEditableSave: function (field, row, oldValue, $el) {
$.ajax({
success: function (data, status) {
if (status == "success") {
alert(" ");
}
},
error: function () {
alert("Error");
},
complete: function () {
}
});
},
columns: [
{
title: ' ',//
formatter: function (value, row, index) {
return $("tb_departments").bootstrapTable("getIndex");
}
},
{
align: "left",//
halign: "left",//
field: "vehplate",
title: " ",
editable: {
type: 'text',
title: " ",
noeditFormatter: function (value,row,index) {
var result={filed:"vehplate",value:value};
return result;
},
validate: function (value) {
if ($.trim(value) == '') {
return ' !';
}
}
}
},{
align: "left",
halign: "left",
field: "price",
sortable:true,
title: " ( )",
editable: {
type: 'text',
title: " ( )",
noeditFormatter: function (value,row,index) {
var result={filed:"price",value:value,class:"badge bg-green",style:"padding:5px 10px;"};
return result;
}
}
},
{
align: "left",
halign: "left",
field: "netvalue",
sortable:true,
title: " ( )",
editable: {
type: 'text',
title: " ( )",
noeditFormatter: function (value,row,index) {
var result={filed:"netvalue",value:value,class:"badge bg-orange",style:"padding:5px 10px;"};
return result;
}
}
},
{
align: "left",
halign: "left",
field: "accumulatedmileage",
sortable:true,
title: " ",
editable: {
type: 'text',
title: " ",
noeditFormatter: function (value,row,index) {
var result={filed:"accumulatedmileage",value:value};
return result;
}
}
},
{
align: "left",
halign: "left",
field: "accumulateddepreciation",
sortable:true,
title: " ( )",
editable: {
type: 'text',
title: " ( )",
noeditFormatter: function (value,row,index) {
var result={filed:"accumulateddepreciation",value:value};
return result;
}
}
},
{
align: "left",
halign: "left",
field: "vehClass",
title: " "
},
{
align: "left",
halign: "left",
field: "vehtype1Desc",
title: " "
}, {
align: "left",
halign: "left",
field: "vehtype2Desc",
//width: 100,
title: " "
}
],
onPageChange:function(number, size)
{
// , ,
me.queryBaseParam.limit=size;
me.queryBaseParam.start=number;
me.ajaxGetData();
},
onSort: function (name, order) {
//
me.queryBaseParam.sort=name;
me.queryBaseParam.order=order;
me.ajaxGetData();
}
});
마지막 결 과 는 client 페이지 의 번호 와 같 습 니 다.총결산
위 에서 말 한 것 은 소 편 이 소개 한 BootStrap Table 이 server 페이지 번호 연속 표시 기능(현재 페이지 는 이전 페이지 의 끝 번호 부터)을 실현 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
부트스트랩 5 스티커Sticky는 페이지의 특정 영역에서 요소를 잠글 수 있도록 하는 구성 요소입니다. 수동 설치(zip 패키지) 부트스트랩 이미지 구성 요소를 활용하고 프로젝트에서 사용하려면 먼저 을 설치해야 합니다. MDB CLI ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.