Chcę, aby dane jQuery automatycznie tworzyły kolumnę z numerem wiersza w pierwszej kolumnie, jak datagrid w VB.Dodaj kolumnę z numerem wiersza do datownika Jquery
Wygląda to tak:
Ktoś wie jak to zrobić?
Chcę, aby dane jQuery automatycznie tworzyły kolumnę z numerem wiersza w pierwszej kolumnie, jak datagrid w VB.Dodaj kolumnę z numerem wiersza do datownika Jquery
Wygląda to tak:
Ktoś wie jak to zrobić?
Po prostu definiujesz pustą kolumnę w aoColumns.
Następnie w funkcji fnRowCallback właśnie edytujesz kolumnę w dowolny sposób. To wywołanie zwrotne jest uruchamiane za każdym razem, gdy tworzony jest nowy wiersz.
Basicly jeśli pierwsza kolumna ma numer wiersza, można po prostu zrobić to w fnRowCallback:
var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;
thx, próbowałem go i to był sukces: D teraz, jak mogę zrobić pierwszy coloumn nie sortowalne ?? – Xinez
o tak, wydaje się, że metoda była sukcesem, ale kiedy zmieniam numer strony w datables, numer wiersza nadal wynosi 1, jak zrobić ciągły numer do ostatniej strony? – Xinez
Och, więc chcesz użyć: iDisplayIndexFull :) – Pehmolelu
Wystarczy napisać render funkcja:
{
"data": "id",
render: function (data, type, row, meta) {
return meta.row + meta.settings._iDisplayStart + 1;
}
}
To wszystko. NICE & Clean (; –
To brzmiało jak najmilsze rozwiązanie , ale jak tylko posortuję według kolumny, numery zostaną zmazane –
Jak komentuje zarówno @Pehmolelu i @ Odpowiedź Tao Wanga nie działa dobrze dla mnie. Musiałam pójść z tym, co radzi kolumna IndexTables Index: https://datatables.net/examples/api/counter_columns.html
Zauważ, że w przypadku mnie nawet konfiguracja kolumn przechodzi przez wywołanie API mojego serwera webapp (i czasami mam liczniki wierszy, czasami nie), przed kolumną licznika znajdują się 3 kolumny systemowe, dlatego indeks kolumny wynosi 3, ale musisz go dostosować do swoich potrzeb.
t.on('order.dt search.dt', function() {
t.column(3, {search:'applied', order:'applied'}).nodes().each(function (cell, i) {
cell.innerHTML = i+1;
});
}).draw();
Ponadto, jeśli roztwór nie jest tak skomplikowane jak mój link powyżej pokazuje również, w jaki sposób dodać tę kolumnę w unsortable + niezbadanej sposób (znów trzeba dostosować indeks kolumny do swoich potrzeb):
var t = $('#example').DataTable({
"columnDefs": [{
"searchable": false,
"orderable": false,
"targets": 3
}],
"order": [[4, 'asc']]
});
Istnieje również wtyczka, którą możesz wykorzystać zamiast własnego kodu.
Jak ładujesz pliki danych? pokaż jakiś kod – naveen
To, czego potrzebujesz, to po prostu policzyć wynik (w json lub tablicy), a następnie iterować go, aby wygenerować liczbę zsekwencjonowaną i zbudować ją wraz z innymi danymi wynikowymi. – toopay