Tak, wiem, że istnieje tam lot programów JS/jQuery, aby to zrobić. Obecnie używam http://www.kryogenix.org/code/browser/sorttable/sorttable.js. To bardzo proste: wystarczy plik JS, dodaj kilka atrybutów klas do swojego stołu i już jesteś wolny. W szczególności nie musisz znać JS, aby z niego korzystać, i możesz dodać niestandardowe klucze sortowania bez potrzeby pisania własnego JS, aby je rozszerzyć. Bardzo lubię to z tych dwóch powodów. Główny problem: mój stół ma ~ 9300 rzędów, a sortowanie zajmuje 10-20 sekund. Zastanawiam się, czy są jakieś inne skrypty szybciej niż to? Są to te znalazłem:Szybkie sortowanie tabeli HTML?
http://webfx.eae.net/dhtml/sortabletable/sortabletable.html (nawet nie jestem pewien, co to wykorzystuje)
http://tablesorter.com/docs/ (naprawdę bardzo miły, ale nie łatwo rozszerzyć, wymaga znajomości JS/jQuery) http://flexigrid.info/ (Overkill, tylko trzeba sorter stół, a nie cały program manipulacji danymi)
http://datatables.net/ (Overkill, wymaga Js/jQuery rozszerzenie)
Jestem pewien, że 5000 inne programy, które mogą robić to, co chcę, ale ja nie mam czas wymyślić i przetestować je wszystkie, aby sprawdzić, czy są szybkie. Dlatego chciałbym wiedzieć, czy ktoś na StackOverflow może wskazać mi bibliotekę, o której wiedzą, że jest szybki, więc muszę tylko wymyślić, jak korzystać z jednego programu.
(Btw, widziałem Java sortowania setki tysięcy numerów w milisekundach z quicksort, czy ktoś wie, co wykorzystuje algorytm JS.sort()?)
oznaczyłeś to jquery, ale brzmi to tak, jakbyś chciał uniknąć tej zależności ... w którą to jest stronę? –
Jasne, java może szybko sortować * numery *, ale sortujesz * DOM *. Operacje DOM są powolne. Twój problem zaczyna się od 9300 wierszy w tabeli HTML. Posortowałem to po stronie serwera. Ale jeśli nie chcesz tego robić, być może przechowywanie danych w obiekcie JS, sortowanie i ponowne renderowanie tabeli za każdym razem będzie szybsze. –
@Robert: Tak, chciałbym tego uniknąć, ale wezmę wszystko, co jest szybkie i nauczę się JQuery, jeśli to konieczne. – Dubslow