Dieser Artikel fasst mehrere Probleme zusammen, die bei der Verwendung der Bootstrap-Tabelle zur Implementierung von Paging auftreten können. Ich hoffe, dass er Ihnen hilfreich sein wird.
Problem 1: Der Server kann den Formularwert nicht abrufen. Es gibt kein Problem mit querystring, aber request.form kann den Wert nicht abrufen >Lösung: Dies ist ein Ajax-Problem. Der Originalcode verwendet natives Ajax. 1 kann durch Lesen von Stream-Dateien gelöst werden. 2 Wenn Sie die Methode „request.form“ verwenden möchten, legen Sie contentType fest: „application/x-www-form-urlencoded“,
$('#tableList').bootstrapTable({ method: 'post', url: "", height: $(window).height() - 200, striped: true, dataType: "json", pagination: true, "queryParamsType": "limit", singleSelect: false, contentType: "application/x-www-form-urlencoded",
Frage 2: Legen Sie die an den Server übergebenen Parameter fest
Methode: function queryParams(params) {
return {
pageSize: params.limit,
pageNumber: params.pageNumber,
UserName: 4
};
}
$('#tableList').bootstrapTable({
method: 'post',
url: "",
height: $(window).height() - 200,
striped: true,
dataType: "json",
pagination: true,
queryParams: queryParams,
Lösung:
1. In queryParams Set 2. Ändern Sie die Quelldatei in der Datei „bootstrap-table.minjs“ auf „limit“===this.options.queryParamsType&&(e={limit:e.pageSize, pageNumber:e.pageNumber,
Ändern Sie bootstrap-table.js oder Sie können
if (this.options.queryParamsType === 'limit') { params = { search: params.searchText, sort: params.sortName, order: params.sortOrder }; if (this.options.pagination) { params.limit = this.options.pageSize; params.pageNumber=this.options.pageNumber, params.offset = this.options.pageSize * (this.options.pageNumber - 1); } }
3. Konfiguration „queryParamsType“ hinzufügen: „limit“,
Vollständig:
<script type="text/javascript"> $(document).ready(function() { $('#tableList').bootstrapTable({ method: 'post', url: "getcompapylist", height: $(window).height() - 200, striped: true, dataType: "json", pagination: true, "queryParamsType": "limit", singleSelect: false, contentType: "application/x-www-form-urlencoded", pageSize: 10, pageNumber:1, search: false, //不显示 搜索框 showColumns: false, //不显示下拉框(选择显示的列) sidePagination: "server", //服务端请求 queryParams: queryParams, //minimunCountColumns: 2, responseHandler: responseHandler, columns: [ { field: 'CompanyId', checkbox: true } { field: 'qq', title: 'qq', width: 100, align: 'center', valign: 'middle', sortable: false } , { field: 'companyName', title: '姓名', width: 100, align: 'center', valign: 'middle', sortable: false } ] }); }); function responseHandler(res) { if (res.IsOk) { var result = b64.decode(res.ResultValue); var resultStr = $.parseJSON(result); return { "rows": resultStr.Items, "total": resultStr.TotalItems }; } else { return { "rows": [], "total": 0 }; } } //传递的参数 function queryParams(params) { return { pageSize: params.limit, pageNumber: params.pageNumber, UserName: 4 }; } </script>
Voraussetzung: Benutzerdefinierte Such- und Paging-Funktion, z. B. die Funktion zur Suche nach Produktnamen .
Phänomen: Bei der Suche nach aufblasbaren Puppen werden 100 Datensätze zurückgegeben und auf der fünften Seite angezeigt. Bei der Suche nach Massagestäben sollten derzeit 200 Datensätze vorhanden sein Die Datensätze befinden sich auf der ersten Seite, aber die tatsächliche Anzeige befindet sich immer noch auf der fünften Seite. Das heißt, nach der erneuten Suche hat sich die Seitenzahl nicht geändert:
Setzen Sie einfach die Option zurück.function search(){ $('#tableList').bootstrapTable({pageNumber:1,pageSize:10}); }
Bootstrap-Video-Tutorial
Bootstrap Erste Schritte Tutorial
Das obige ist der detaillierte Inhalt vonZusammenfassung der Probleme bei der Paginierung von Bootstrap-Tabellen [mit Antworten und Code]. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!