Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Grid - ciąg dalszy.

18 views
Skip to first unread message

homar

unread,
Feb 23, 2012, 12:20:00 PM2/23/12
to
Witam wszystkich, a w szczególności zainteresowanych tabelkami.
Jakiś czas temu poruszyłem temat formatowania tabelek, i muszę
powiedzieć, że dowiedziałem się masę rzeczy na ten temat, i ledwo to
dźwignąłem :) .
Stylami można bardzo dużo, ale w końcu i tak trzeba sięgnąć po grid.
Pomacałem trochę lepszych i gorszych przykładów opartych o jQuery, i w
końcu sięgnąłem po wskazany :

http://trirand.com/blog/jqgrid/jqgrid.html#

Jakimś tam utrudnieniem jest to, że nie to php serwuje dane. Nie
znając php, jakieś problemy miałem z rozpoznaniem i przełożeniem w nim
podanych przykładów - ale jakoś poszło. Przynajmniej udaje mi się
podawać dane w xmlu, z jsonem jeszcze nic mi nie wyszło, ale jestem
dobrej myśli. Ale tymczasem znalazłem tam przykład w "New in version
3.3\HTML Table to Grid" :

jQuery("#ttogrid").click(function (){ tableToGrid("#mytable");});

i postanowiłem napuścić tego grida na stare tabelki. Konkretnie w
kodzie po zwrocie z serwera przy update strony dopisałem :

function updatepage( str ){
document.getElementById( "result" ).innerHTML = str;
tableToGrid( "#myTable");
}

Zadziałało bardzo ładnie. Ale tabelki miewają powyżej 20 kolumn i są
szersze od szerokości okna itd. itp. Trzeba to jakoś przeformatować, a
moje doświadczenie z js jest jeszcze niewystarczające do tego, aby
zmodyfikować formatowanie grida.
Analizuję podane tam przykłady, i wszędzie jest przygotowanie do
wyświetlania wpisane w kod strony, czyli przed pobraniem danych, a tu
nie widzę takiej możliwości. Jak tu ustawić obszar działania dla
grida?
Moje zabiegi typu :

tableToGrid( "#myTable");
jQuery("#myTable").jqGrid('navGrid','#pager11',{ height:
490, width: 300});

nie przynoszą zamierzonego rezultatu :(
Mógłby mnie ktoś nakierować na jkąś poprawną składnię (o ile jest to
wykonalne) ?

Pozdrawiam,
Marek Horodyski

NKAB -

unread,
Feb 24, 2012, 4:17:24 AM2/24/12
to
homar <marek.h...@interia.pl> napisał(a):

> Witam wszystkich, a w szczeg=F3lno=B6ci zainteresowanych tabelkami.
> Jaki=B6 czas temu poruszy=B3em temat formatowania tabelek, i musz=EA
> powiedzie=E6, =BFe dowiedzia=B3em si=EA mas=EA rzeczy na ten temat, i
ledwo=
> to
> d=BCwign=B1=B3em :) .
> Stylami mo=BFna bardzo du=BFo, ale w ko=F1cu i tak trzeba si=EAgn=B1=E6 po
=
> grid.
> Pomaca=B3em troch=EA lepszych i gorszych przyk=B3ad=F3w opartych o jQuery,
=
> i w
> ko=F1cu si=EAgn=B1=B3em po wskazany :
>
> http://trirand.com/blog/jqgrid/jqgrid.html#
>
> Jakim=B6 tam utrudnieniem jest to, =BFe nie to php serwuje dane. Nie
> znaj=B1c php, jakie=B6 problemy mia=B3em z rozpoznaniem i prze=B3o=BFeniem
=
> w nim
> podanych przyk=B3ad=F3w - ale jako=B6 posz=B3o. Przynajmniej udaje mi si=EA
> podawa=E6 dane w xmlu, z jsonem jeszcze nic mi nie wysz=B3o, ale jestem
> dobrej my=B6li. Ale tymczasem znalaz=B3em tam przyk=B3ad w "New in version
> 3.3\HTML Table to Grid" :
>
> jQuery("#ttogrid").click(function (){ tableToGrid("#mytable");});
>
> i postanowi=B3em napu=B6ci=E6 tego grida na stare tabelki. Konkretnie w
> kodzie po zwrocie z serwera przy update strony dopisa=B3em :
>
> function updatepage( str ){
> document.getElementById( "result" ).innerHTML =3D str;
> tableToGrid( "#myTable");
> }
>
> Zadzia=B3a=B3o bardzo =B3adnie. Ale tabelki miewaj=B1 powy=BFej 20 kolumn
i=
> s=B1
> szersze od szeroko=B6ci okna itd. itp. Trzeba to jako=B6 przeformatowa=E6,
=
> a
> moje do=B6wiadczenie z js jest jeszcze niewystarczaj=B1ce do tego, aby
> zmodyfikowa=E6 formatowanie grida.
> Analizuj=EA podane tam przyk=B3ady, i wsz=EAdzie jest przygotowanie do
> wy=B6wietlania wpisane w kod strony, czyli przed pobraniem danych, a tu
> nie widz=EA takiej mo=BFliwo=B6ci. Jak tu ustawi=E6 obszar dzia=B3ania dla
> grida?
> Moje zabiegi typu :
>
> tableToGrid( "#myTable");
> jQuery("#myTable").jqGrid('navGrid','#pager11',{ height:
> 490, width: 300});
>
> nie przynosz=B1 zamierzonego rezultatu :(
> M=F3g=B3by mnie kto=B6 nakierowa=E6 na jk=B1=B6 poprawn=B1 sk=B3adni=EA (o
=
> ile jest to
> wykonalne) ?
>


Naprowadzę cię - zainteresuj się tym jak się robi menu na divkach
a będziesz wiedział jak zrobić swojego ala'grida.

Jeśli ma to być tabelka na danych z www to bez PHP raczej się nie da.
W czystym JS walisz dane do Array() i te elementy do ala'grida.

Andrzej.


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

homar

unread,
Feb 24, 2012, 7:19:47 AM2/24/12
to
On 24 Lut, 10:17, "NKAB -" <nkab.SKA...@gazeta.pl> wrote:
> homar <marek.horody...@interia.pl> napisał(a):
Dzięki. Już mam przykładowe dane w akceptowalnym formacie json - uczę
się debugować strony i łapać przesyłane dane pomiędzy serwerem i
przeglądarką :)
I dodatkowo akurat teraz zadziałało mi sterowanie tabelki
przekształconej ze zwykłej html.
Pierwsze działające instrukcje :
tableToGrid( "#myTable") ;
jQuery( "#myTable").jqGrid('setGridWidth',
1250).jqGrid( 'setGridHeight', 600);

I już ! :)
Jeszcze muszę dołożyć belki, ustawianie szerokości myszą, "zafrezować"
kilka kolumn itp. Ale działa !!!
A Grid jest rewelacyjny, dane z serwera pobiera sobie pagerami, albo
automatycznie w tle! Jak ktoś znał i pamięta Clipperowy obiekt
tBrowseNew(), to jest to funkcjonalnie to samo. Plus interakcja z
formularzami, master-ditale, validacja wprowadzanych wartości, itp.
itd. Bardzo, bardzo mocne narzędzie. UI aplikacji biznesowej można na
tym postawić. A szukałem tylko czegoś skromnego do ładniejszego
raportowania, a tu taki brylant :)

Pozdrawiam,
Marek Horodyski
0 new messages