Wie fügen Sie Zeilen-Nummer in Tabelle genareted von JQuery DataTable mit server-side-datasource
Verwende ich JQuery DataTable zu binden und zu zeigen, dass meine Daten. Allerdings kann ich nicht hinzufügen, Zeilennummer generiert raster von client-Seite. Hier mein code:
HTML
<table id="applications_list" class="table table-bordered datagrid">
<thead>
<tr>
<th><?php echo __('No.'); ?></th>
<th><?php echo __('Application Code'); ?></th>
<th><?php echo __('Application Name'); ?></th>
<th><?php echo __('Created By'); ?></th>
<th><?php echo __('Created Date'); ?></th>
<th><?php echo __('Action'); ?></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Javascript
$('#applications_list').dataTable({
"bLengthChange": false,
"bFilter": true,
"bFilter": false,
"bProcessing": true,
"bServerSide": true,
"sPaginationType": "full_numbers",
"sAjaxSource": config.siteURL + "/applications/ajax_index",
"sServerMethod": "POST",
"aoColumns": [
{ "mData": null, "bSortable": false },
{ "mData": "app_applicationcode", "sName": "app_applicationcode" },
{ "mData": "app_applicationname", "sName": "app_applicationname" },
{ "mData": "app_createdby", "sName": "app_createdby" },
{ "mData": "app_createddate", "sName": "app_createddate" },
{ "mData": "app_applicationcode", "bSortable": false, "mRender": function(data) {
return '<a href="' + config.siteURL + '/applications/delete/' + data + '" class="confirm_delete"><i class="">x</i></a>'
}},
],
"aaSorting": [[ 0, 'asc' ]],
});
Ich Lesen Sie die Dokumentation,hier, aber es wird nicht funktionieren. Kann mir jemand helfen dieses problem zu lösen?
warum können Sie es hinzufügen, um die Daten der server-Seite? Haben Sie die Zeile start...sonst würde nicht in der Lage sein, limit in db nachschlagen
Ja, dass die Lösungen, aber ich möchte nur hinzufügen, dass es auf der client-Seite.
wahrscheinlich finden, was Sie brauchen in
Ich sehe nicht
schauen Sie durch es, es ist ein riesiges Objekt, sollten Ihre paging-posiiton. Dann verwenden Sie code, den Sie verlinkt wird. weit einfacher, dies zu tun auf dem server
Ja, dass die Lösungen, aber ich möchte nur hinzufügen, dass es auf der client-Seite.
wahrscheinlich finden, was Sie brauchen in
.fnSettings()
Ich sehe nicht
.fnSettings()
wird das problem lösen. Kannst du mir ein Beispiel?schauen Sie durch es, es ist ein riesiges Objekt, sollten Ihre paging-posiiton. Dann verwenden Sie code, den Sie verlinkt wird. weit einfacher, dies zu tun auf dem server
InformationsquelleAutor Habibillah | 2013-11-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für DataTables 1.10.4,
Nicht Wert, mit Paginierung , beginnt wieder mit 0
InformationsquelleAutor Abhishek Singh
Da keine der Lösungen hier für mich gearbeitet, hier ist meine Lösung für eine server-Seite.
fügen Sie die extra
<th></th>
in der Tabelle, diese ist zu markieren, wo die Zahl eingefügt werden soll.fügen Sie den folgenden direkt nach der Einleitung der Tabelle, auf die gleiche Weise fügen Sie
"ajax": {"url":"somepage"},
"fnCreatedRow": Funktion (Zeile, Daten, index) {
var info = table.page.info();
var Wert = index+1+info.start;
$('td', Zeile).eq(0).html(Wert);
},
3.An der Stelle, wo die Variablen definiert für die Spalten der Tabelle, diese Spalte hinzuzufügen, { "data": null,"sortierbar": false },
also es sieht wie folgt aus:
4. Um loszuwerden, das Sortieren-Symbol (Pfeil nach unten), wählen Sie die zweite Spalte durch hinzufügen,
"order": [[ 1, 'asc' ]]
auf die gleiche Weise, Sie würden hinzufügen, "ajax"....Bitte machen Sie die änderungen in die Antwort, und ich werde es genehmigen, so dass andere Menschen nicht das gleiche Problem.
InformationsquelleAutor Damir Olejar
Möglich wird dies durch machen Verwendung von fnPagingInfo api in der rowCallback an die Seite bekommen und die Anzeige der Länge und verwenden Sie es zu berechnen, die Nummer der Zeile wie diese:
Für Datentabellen < 1.10
Für DataTables == 1.10
HINWEIS: für Datentabellen < 1.10, müssen Sie die fnPageInfo.js Skript zu Ihrer Seite
InformationsquelleAutor Jaleel Adesina
Offizielle Lösung von DataTable:
InformationsquelleAutor Bian Jiaping
Den guide von offizielle Dokumentation hat nicht funktioniert auf der server-Seite Tabellen. Die beste Antwort, die ich bekommen kann ist aus diese Antwort (aus einer anderen Frage), nur um zu schreiben ein render-Funktion:
Gehen upvote diese Antwort.
InformationsquelleAutor Ifan Iqbal
Fügen Sie folgenden code in "fnRowCallback":
Für Datatables 1.10
InformationsquelleAutor Vishal P.
Beste Lösung:
Es macht einen job und kleineren code implementiert ist
InformationsquelleAutor kubura
Vorausgesetzt, die
<?php echo __('No.'); ?>
ist der Primärschlüssel aus der Datenbank, die Sie verwenden könnencolumnDefs
fügen Sie den Schlüssel als Zeilennummer zu jeder Zelle einer Zeile wie dieserWo
rowData[0]
werden die primären Schlüssel-Wert.InformationsquelleAutor pavankguduru