Article View: pl.comp.lang.javascript
Article #51013Grid
From: Marek Horodyski
Date: Thu, 19 Jan 2012 22:55
Date: Thu, 19 Jan 2012 22:55
53 lines
3680 bytes
3680 bytes
Witam forumowiczów js. Od niedawna przenoszę interfejs użytkownika na stronę przeglądarki, i mam przy tym i frajdę i kłopot. W HTML jest to szybkie ale mało ergonomiczne. Konkretnie chodzi mi o tabelki. Ze względu na to, że nie bardzo sobie jeszcze radzę z podtrzymaniem sesji, szczególnie w IE, który na dzień dobry otwiera 2 połączenia ( i nie wiem poco 2gie, zazwyczaj w ogóle go nie używa, a jak coś zechce, to na 3cim porcie sie pokazuje; Chrome zaś spokojnie obywa się jednym socketem/portem) - przygotowane użytkownikowi dane chcę wysłać w całości, a nie stronicować. Tabelka może mieć dość dużo rekordów (nie precyzując dokładniej, czy to kilkaset, czy kilkadziesiąt tysięcy). Przygotowanie, przesłanie i wyświetlenie w czystym HTML jest rewelacyjnie szybkie, niezauważalne milisekundy - tylko jakieś takie mało wygodne na końcu. Formularz dałem na górze strony, wynik wstawiam poniżej. Jak się chce obejrzeć więcej, przewijając stronę w dół, to znikają nagłówki tabeli - nie wiem co widzę. Nie mieszczą się dane też w poziomie (bez skrolowania poziomego nie widać). Jak się tym więcej pobawiłem, okazało się, że stylami/css można błyskawicznie poprawić estetykę. No piękne toto - ale nagłówki nadal znikają :(. Chcąc coś więcej zrobić zacząłem poznawać js. Dowiedziałem się co nieco o jQuery i rozszerzających jej wykorzystanie gridach. Pogooglałem trochę i znalazłem parę ciekawych. Szukałem takiego, którego można napuścić dynamicznie na przygotowaną tabelkę, którą podeśle serwer ajaxem w całości (bez stronicowania). Grid powinien móc zamrozić wybraną ilość kolumn i w oknie grida mieszczącym się na ekranie (bez przewijania całej strony) wyświetlić dane. Dane nie mieszczące się w poziomie i w pionie powinny móc być scrolowane za pomocą belek danych będących częścią grida (belek, suwaków czy jak tam to jest zwane), a nie za pomocą belek okna strony. Wielkość okna grida może być parametrem jego wywołania ( np. w pixelach). Znalazłem parę niby idealnych, ale przy lekko ponad 100 rekordach to już przeglądarki prosiły aby im pozwolić przestać toto przetwarzać, jak nie chcę pogniewać się na komputer. No i wycofałem się do wcześniejszych rozwiązań, i znowu mi się nie podoba :( No to szukam. Czy jest komuś znana jakaś w miarę prosta metoda uzyskania powyższego ? A może ktoś zna jakiś wydajny i dynamiczny grid ? Jak to osiągnąć ? I przy okazji, jak efektywnie w http podtrzymać connection=keep-alive ? (szczególnie z IE - to bardziej temat serwer-Side, ale zapewne bliski użytkownikom tego forum). Pozdrawiam, Marek Horodyski
Technical Details
Message-ID:
<jfa6p7$v51$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: "Marek Horodyski" <marek.horodyski@interia.pl> Newsgroups: pl.comp.lang.javascript Subject: Grid Date: Thu, 19 Jan 2012 23:55:02 +0100 Organization: ATMAN - ATM S.A. Lines: 55 Message-ID: <jfa6p7$v51$1@node2.news.atman.pl> NNTP-Posting-Host: apn-46-169-239-35.dynamic.gprs.plus.pl X-Trace: node2.news.atman.pl 1327013480 31905 46.169.239.35 (19 Jan 2012 22:51:20 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Thu, 19 Jan 2012 22:51:20 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3028 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit