Klikni ovde za pomoć kod unosa

 

Tabelarni prikaz podataka

Tabelarni prikaz podataka:

Želja da se prikaz podataka sa jedne strane pojednostavi za upotrebu, a sa druge učini moćnijim u smislu mogućnosti koje možeš da iskoristiš (a i ne moraš što je zapravo i deo njegove jednostavnosti), doveli su do toga da se sve više podataka prikazuju tabelarno, upotrebom grida.
Osnovna prednost grida u odnosu na standardne prikaze (ispis na ekran ili štampač) jeste u tome što se u njemu nalazi „živ“ podatak, tj. podatak sa kojim se može manipulisati (dodatna presabiranja, sortiranja, filtriranja, formatiranja, grupisanja i sl.).
Ovde ćemo pokazati kako se upotrebljava grid u smislu običnog pregleda, sortiranja podatka po jednoj ili više kolona, grupisanje, formatiranje kolona (širina i poravnanje), promene nivoa detalja i dr.

Osnovne karakteristike grida su:

- praktično neograničena radna površina, što znači da se može imati više stotina kolona i više hiljada redova;
- mogućnost manipulacije gridom u smislu izmene forme: menjanje širine kolona, njihov raspored i vidljivost;
- mogućnost manipulacije podacima kao što su: sortiranje, grupisanje, filtriranje, određene matematičke operacije i dr.

Dodatne karakteristike grida su:

- slanje podataka iz grida na štampu u formi kakvu si ti postavio;
- izvoz podataka u sve poznatije formate (TXT, XML, Excel, Word) takođe u formi koja se može menjati;
- snimanje postavki forme grida za kasniju upotrebu.
Osnovna funkcija grida je pregled podataka, a sve ostale funkcije (izmena, brisanje, štampa) su izvedene iz ove. Manipulacija gridom u smislu pregleda se obavlja upotrebom tastature ili miša. Ako se upotebljava tastatura, tada se koriste kursorske strelice za kretanje po gridu. Ako je širina grida takva da ceo staje na ekran, onda se koriste strelice gore i dole kojima se kreće po redovima (slogovima) grida. Tu se odmah može primetiti da je samo jedan slog obeležen (postoji i mogućnost obeležavanja više slogova, ali se retko koristi i o njoj ćemo kasnije), što otvara mogućnosti za manipulaciju tim slogom kao jedinicom nosioca podataka (izmena, brisanje). Ako je širina grida veća od ekrana onda se, pored gore/dole strelica, koriste strelice za kretanje levo i desno. Kretanje kroz grid upotrebom miša je malo drugačije od navedenog. Tu je potrebno prvo utvrditi obim prikazanih podataka jednostavnim utvrđivanjem postojanja skrol barova (klizača). Ako je broj i veličina kolona takva da prelazi vidljive okvire tada se na dnu grida može videti horizontalni klizač čijim se pomeranjem levo/desno pomera i struktura grida pokazujući time svoje skrivene kolone. Broj i visina redova određuju postojanje vertikalnog klizača na desnoj strani grida. Ako je vidljiv desni vertikalni klizač, to je znak da postoje redovi koji trenutno nisu u vidnom polju posmatrača, i pomeranjem istog dolazi se do skrivenih redova (slogova). Klizači se mišem mogu direktno pomerati na dva načina: pritiskom levim tasterom miša na strelice koje čine graničnik klizača, a drugi je da se, takođe levim tasterom miša, pritisne na klizač i ne puštajući taster povlači klizač u smerovima mogućeg kretanja (horizontalni klizač levo/desno, a vertikalni gore/dole).
Miš omogućava još dva načina kretanja kroz grid: okretanjem točkića (ako ga miš poseduje) za kretanje gore/dole i upotrebom točkića kao trećeg tastera kada se prelazi u mod za kretanje (vidno obeleženo na ekranu stelicom u četiri smera) i onda je dovoljno pomerati miša u bilo koju stranu i grid će se takođe pomerati. Izlaz iz ovog moda postiže se pritiskom na bilo koji taster miša. Jedna opaska je bitna u kretanju kroz grid, a to je da ako se krećeš strelicama (gore/dole) sa tastature, pomeraće se i pokazivač tekućeg reda (sloga) tako da će ti taj pokazivač uvek biti u vidnom polju, ali ako se krećeš upotrebom miša, pokazivač se neće pomerati nego će se pomerati kompletan sadržaj grida u okviru vidnog polja, pa se može desiti da se pokazivač izgubi iz tog polja, a ako se to desi, pomeranjem miša možeš da vratiš pokazivač u vidno polje ili prosto da klikneš levim tasterom na neki red i pokazivač će se odmah premestiti tu.

Izvedene funkcije iz pregleda podataka u gridu su: brisanje, izmena i dodavanje. Zašto kažemo „izvedene iz pregleda“, ne zato što one imaju neku svoju logiku vezanu za pregled (mada je i to delimično tačno) nego zato što grid možeš otvoriti, pogledati nešto i zatvoriti, ali to ne možeš uraditi sa, na primer, brisanjem (otvoriš, obrišeš, zatvoriš), nego da bi nešto obrisao moraš otvoriti grid, dobro pogledati podatke i tek kad nađeš i utvrdiš da je odgovarajući slog onda možeš preći na brisanje istog. Naravno klasifikacija na osnovne i izvedene funkcije je formalna, samo u ovom opisu, da bi potencirali glavnu osobinu i namenu grida kao tabelarnog prikaza podataka. Dobro mesto za primer brisanja u gridu je Promena firme/rad sa arhivama. Kad uđeš u tu opciju, dobijaš grid sa spiskom raspoloživih firmi u kome se, pored firmi koje redovno koristiš, nalaze i njihove kopije napravljene iz ko zna kojih razloga i potreba, pa pošto zauzimaju mesto i čine listu nečitljivijom (a nema potrebe za njima) potrebno ih je obrisati. Tu prvo na scenu stupa pretraživanje liste u cilju nalaženja firme koju treba obrisati. Kad je nađeš (kad ti je u vidnom polju) moraš je označiti ako već nije. Rekli smo da se to postiže strelicama ili se jednostavno levim tasterom miša klikne jednom na nju. Firma je označena kad se svojim prikazom razlikuje od drugih iz iste liste. Pošto je označena, pritiskom na Delete ona će biti i obrisana (uz sigurnosno pitanje).

Primer izmene podataka u gridu možemo videti u Dozvolama (SERVIS / OPCIJE), kada pregledajući redove izaberemo jednu komandu na kojoj se može izvršiti izmena, a to se izvodi pritiskom na taster Space (razmaknica) ili klikom levim tasterom miša na polje u kome se nalazi čekboks za dozvolu za upotrebu, posle čega se vrednost tog polja promeni (ako je uključen, isključi se i obrnuto). Drugi primer izmene, a i unosa novog podatka u gridu je u opciji Telefonski imenik (KONTAKTI). Ovde se mišem, a i strelicama, može birati red i kolona koja se želi izmeniti, otkuca se željena izmena i pritisne Enter. Polje „bitan datum“ omogućava dva načina izmene: prvi kucanjem datuma preko tastature a drugi pritiskom levim tasterom miša na strelicu na desnoj strani polja koji prouzrokuje otvaranje kalendara iz kog se, opet, mišem izabere željeni datum. Dodavanje novog kontakta u telefonskom imeniku se postiže tako što se na poslednjem redu (slogu) pritisne strelica nadole i grid automatski otvara novi red u koji se mogu uneti željeni podaci. Ovde se takođe pritiskom na Delete može obrisati izabrani slog.
Od osnovnih karakteristika grida pomenuli smo mogućnost manipulacije njegovom formom: menjanje veličine, rasporeda i vidljivosti kolona. Promena veličine, ustvari širine kolone postiže se pomeranjem njene desne granične linije. Da bi to uspeo mora se zadovoljiti uslov da je toj koloni dozvoljena promena veličine, zatim se mišem (samo se mišem može menjati veličina) kursor postavi na desnu ivicu izabrane kolone (ovo se odnosi na zaglavlje kolone gde je njen naziv, a ne može se izvesti na stavkama) i tek kad se oblik kursora promeni iz strelice u uspravnu crtu sa dve strelice (levo i desno) može se izvršiti promena veličine. Tog trenutka promena se može izvesti na dva načina:
- automatski-dvostrukim klikom levog tastera miša kad je kursor u obliku crte i kolona se širi/skuplja na širinu najdužeg teksta u njoj (može biti ili tekst u naslovu ili tekst u stavkama);
- manuelno-razvlačeći ili skupljajući kolonu tako što držeći pritisnut levi taster miša (naravno kad je kursor u obliku crte) pomerate istog levo ili desno.
Promena rasporeda kolone je jedna od interesantnih karakteristika grida, što omogućava da prikaz prilagodite svojim željama i afinitetima. Raspored se menja jednostavno, i opet samo mišem. Levim tasterom miša pritisne se naziv polja kojem se želi promeniti pozicija i, nepuštajući pritisnuti taster, prevlači se do željene odrednice. U toku tog prevlačenja pojaviće se dve strelice (zelene), okrenute jedna prema drugoj, koje pokazuju mesto gde će se prebaciti ta kolona ako tog trenutka pustite pritisnuti taster.

Ako kolonu koju premeštaš odvučeš van zaglavlja (npr. na stavke) i pustiš, ona će nestati, odnosno Lidder će smatrati da ti ne treba i isključiće je iz prikaza. Na taj način si uticao na njenu vidljivost. Ako kolona ipak treba da bude vidljiva, onda se mora otvoriti lista svih kolona grida (gore levo u gridu) i označiti tu kolonu, što će proizvesti da ona postane vidljiva. Isto tako, ako se u tom spisku neka kolona isključi, ona postaje nevidljiva (ne mora se prevlačiti van zaglavlja). Taster kojim se dobija lista (spisak) kolona nalazi se na početku (leva strana) zaglavlja kolona. To polje (taster) nema naziv nego sličicu koja podseća na neko nabrajanje, opcije. Znači kad tu klikneš dobijaš spisak kolona sa prikazom njihove vidljivosti u smislu označeno-vidljivo i neoznačeno-nevidljivo. Zaglavlje (nazivi) kolona može imati i nadzaglavlje, odnosno grupisanje kolona po nekoj opštijoj klasifikaciji, takođe i na početku (leva strana) tog grupnog dela nalazi se taster kojim se dobija lista vidljivih i nevidljivih grupa. Tako se odjednom može učiniti nevidljivim cela jedna grupa polja (npr. Osnovni podaci u gridu Promena firme).

Ako se prevlačenjem polje naziva kolone smesti u oblast za grupisanje (poznaćeš ga po tome što tu piše „Prevuci naziv kolone ovde da bi grupisao po toj koloni“), izvršiće se potpuna promena sadržaja grida. Nemoj da te ova „potpuna promena“ uplaši u daljem istraživanju grida, jer je grupisanje jedna interesantna i nadasve korisna mogućnost koja ti je na raspolaganju. Ne brini, sve što se grupiše može i da se razgrupiše (kao i u životu). Primer kako to lepo funkcioniše može se videti u gridu Promena firme. Ako na primer imaš u listi 160 firmi u poslednje 4 godine (40 firmi godišnje) to može biti prava zbrka na ekranu, i noćna mora da nađeš onu koja ti treba. Ali ako naziv polja „P.G.“ (poslovna godina) prevučeš na deo za grupisanje odjednom dobijaš mnogo čistiju situaciju, jeste da se prikaz u gridu totalno izmenio i sad imaš samo četiri reda (za svaku godinu po jedno) sa samo brojem godine. Pa gde su firme? Tu, ispod svake godine, dovoljan je dupli klik levim tasterom miša na neku od godina i odmah se dobija spisak firmi ali samo za tu godinu. Ponovni dvostruki klik na istu godinu dovodi do uklanjanja prikaza firmi (čišćenje ekrana). Kako si grupisao podatke isto tako ih možeš i razgrupisati, prostim prevlačenjem naziva kolone sa prostora za grupisanje na bilo koje drugo mesto (na nazive kolona, van grida nije bitno samo da je van tog prostora za grupisanje) i sve se vraća u pređašnje stanje. Mogu se izvršiti i podgrupisanja na dva i više nivoa. Na primer, prevučeš u grupisanje polje poslovne godina, a zatim na isti način dodaš i tip preduzeća. Time dobijaš da u okviru svake godine imaš podgrupu po tipu organizacije preduzeća (doo, str, kd, ad i sl.), što još sužava i olakšava traženje neke određene firme.

Druga osobina grida je sortiranje. Izvodi se prostim klikom levim tasterom miša na naziv kolone po kojoj hoćemo da sortiramo podatke. Naravno, sortiranje se obavlja na nivou svih kolona (celog grida) a ne samo izabrane. Znači, Lidder radi sortiranje a ne razmeštanje podataka. Ovo napominjemo iz razloga što postoje programi koji imaju opciju da izvrše „sortiranje“ samo izabrane kolone, a ne celog sloga, tako da dobiješ izmešane podatke u pregledu. Sortirati se može u rastućem i u opadajućem redosledu, prvi klik na naziv kolone postavlja po rastućem, a drugi po opadajućem redosledu, i sve tako naizmenično. Ako želiš da ukloniš sortiranje po nekoj koloni, onda na nazivu te kolone pritisneš desni taster miša da bi dobio meni iz koga izabereš opciju „Bez sortiranja“.
Kao što se vidi, grid sadrži i meni sa izborom opcija, odnosno ovaj se meni može dobiti samo desnim klikom na zaglavlje kolona, jer se opcije koje sadrži i odnose na to zaglavlje. Komande u meniju su mahom one koje smo dosad pomenuli, pa ćemo ih ukratko ponoviti:
- Sortiraj normalno – kolonu, na kojoj je to moguće, sortira rastućim redosledom (taj se redosled inače smatra normalnim);
- Sortiraj obrnuto – za sortiranje kolone opadajućim redosledom;
- Bez sortiranja – vraća na redosled kakav je bio pre sortiranja;
- Grupiši po ovom polju – automatski prebacuje to polje u oblast za grupisanje i formira grupni pregled (isto kao prethodni opis grupisanja);
- Prostor za grupisanje – opcija koja ti omogućava da prikažeš ili sakriješ prostor za grupisanje;
- Mesto za sume – opcija koja takođe omogućava prikaz ili skrivanje sumarnog dela koji se nalazi u podnožju grida;
- Mesto za sume grupa – takođe prikaz/skrivanje dela koji prikazuje sumu po grupama, naravno, ovo važi samo ako to mesto i postoji (u nekim posebnim pregledima);
- Ne prikazuj ovu kolonu – sam naziv opcije sve kaže;
- Odabir kolona – prikaz samo kolona koje se ne vide, sa mogućnošću prevlačenja istih u zaglavlje kolona (nešto kao aktiviranje prikaza kolone sa izborom mesta u redosledu kolona);
- Poravnanje - koje ti omogućava da promeniš poravnanje podataka u datoj koloni (da ih centriraš ili postaviš desno ako su numeričkog tipa);
- Auto širina kolona – automatski postavlja širinu izabrane kolone na širinu najdužeg teksta u njoj;
- Auto širina SVIH kolona – kao opcija auto širina kolona samo se odnosi na sve kolone.

Filtriranje podataka
Filtriranje podataka je standardna opcija grida, ali se ne upotrebljava svuda jer nije uvek i potrebna (mnogo ređe nego sortiranje). Zadatak filtriranja je da iz svih prikazanih podataka u gridu izabere one koji zadovoljavaju postavljeni uslov i izvrši samo njihov prikaz (kao da je ponovo pušteno novo kreiranje izveštaja sa novim parametrima, ovo je to isto samo mnogo brže). Postoji i "Instant" način filtriranja podataka, pogledaj sekciju: "DODACI/GRID/INSTANT FILTER"
Primer za filtriranje možeš videti u gridu Promet robe (PREGLED / STATISTIKA / IZLAZ ROBE). Prvo da bi izvršio filtriranje moraš da imaš šta da filtriraš, tj. grid mora biti napunjen podacima. U ovom primeru postavićemo u polje „šifarnik / magacin“ konto 1320 jer hoćemo promet robe iz magacina VP, i primenimo postavku. Dobili smo kompletnu listu prometa robe po artiklima iz magacina 1320. Puno podataka. Pošto šifre artikala, u ovom primeru, nisu jednoznačne nego su grupisane po prve dve cifre, postavićemo filter da nam prikaže samo one artikle čije su prve dve cifre u šifri broj 95. Pritisnemo taster „Podešavanje filtera“, (taster se nalazi dole desno na gridu) jer je to prvo što treba uraditi pošto znamo da nemamo prethodno pripremljen filter za naš zahtev. Na sred ekrana smo dobili formu za podešavanje-pravljenje filtera. Sad pritisnemo taster na kome piše „pritisni ovde da bi dodao novi uslov“ i dobijamo poziciju da formiramo uslov za naš filter. Parametri za uslov su postavljeni u različitim bojama: zelena je naziv kolone iz grida, bordo je logička operacija između kolone i vrednosti za filter, plava je vrednost za filter. Rekli smo da pregled artikala čije su prve dve cifre šifre broj 95. Znači u zeleno polje postavljamo naziv kolone „Šifra“, a postavljamo ga tako što mišem kliknemo na to zeleno polje i dobijemo spisak svih kolona iz koga izaberemo „šifra“. Klikom na bordo polje operacija, dobija se spisak svih poređenja koja se mogu izvršiti između kolone i vrednosti za pregled, iz datog spiska biramo „između“. Zašto „između“? Zato što želimo da nam se prikažu sve šifre u rasponu od 9501000 do 9599100 (po ovom primeru). Po izboru poredbenog uslova otvaraju se dva polja za unos poredbene vrednosti. U prvu unosimo broj 95 a u drugu 96. Pošto nam je šifra sedmocifrena, unosom broja 95 mi smo zapravo uneli „95     „ (pet praznih mesta), a pošto je po sistemu poređenja „95 „ manje od „9500000“ mi smo dobro postavili početnu vrednost uslova, i sa ovim unosom znamo da neće ući ni jedna šifra koja počinje sa 94 ali će se zato prva koja ima broj 95 sigurno pojaviti. Drugi podatak koji smo uneli je 96, i prema prethodnom objašnjenju znamo da će se u listi pojaviti svaki broj koji počinje sa 95 zato što je „96 “ veće od bilo koje kombinacije koja počinje sa „95“ („9599999“ ili „95ZZZZZ“). Mogli smo mi i uneti „9599999“ ali šta ako postoji šifra sa slovnom oznakom (npr „95999A“), tada se ona neće pojaviti i izveštaj neće biti dobar. Napomena: ako u šifarniku postoji šifra „96 “ ona će se pojaviti u pregledu, ali to je signal da nešto nije u redu sa unosom šifara artikala. Mogli smo uneti, umesto 95 i 96, 9501000 i 9599100 ali to je zahtevalo pretraživanje šifarnika i utvrđivanje graničnih vrednosti (predugo za nas koji smo navikli na Lidder). Pritiskom na OK aktiviramo filter. Da se stvarno nešto desilo videćemo po tome što u pregledu imamo samo one artikle koji su zadovoljili naš uslov, ali i broj stavki (u sumarnom delu grida – dole levo) promenio, tj. smanjio jer smo iz ukupnog broja stavki izvukli samo one koje nam odgovaraju, odnosno zadovoljavaju naš uslov.
Još jedna bitna stvar je da sumarni deo u potpunosti podržava filter, tj. svaku promenu izazvanu filtriranjem on primenjuje. To ćemo i da dokažemo. Na sumarnom delu ispod kolone „KolUlaz“ kliknućemo desnim tasterom miša i iz ponuđenog menija izabrati „Σ Suma“ i dobili smo sumu te kolone, a i naučili kako to sami da uradimo (a da ne čekamo programere da se smiluju). Filter nam je još uvek aktivan, to se vidi na početku filter oblasti gde je prikazan poslednje izabrani filter (dole levo u gridu), a ispred njega oznaka da li je aktivan ili ne (čekboks). Na tom mestu možeš aktivirati ili deaktivirati filter, i svaki put kad to uradimo vrednosti u sumarnom delu grida se promene. To je dokaz da grid nedozvoljava nesklad između stavki i sumarnog dela.
Filtriranje ima puno kombinacija, a samim tim i puno mogućnosti da se dobije željeni ali i prazan pregled, zato se pre kreiranja filtera mora dobro osmisliti potreba. Zašto ovo naglašavamo, da ne dođete u situaciju da, ako je pregled posle aktiviranog filtera prazan, pomislite da nema traženog podatka umesto da prvo posumnjate u uslov koji ste zadali. Evo primera kako se to može desiti. U podešavanju filtera postavili smo uslov „šifra jednako 95“ i dobili prazan grid, što je moglo da prouzrokuje konstataciju da mi u našem šifarniku nemamo šifara koje počinju sa 95, što nije tačno. Mi smo u uslovu zapravo rekli šifra=„95 “, i dobili prazan grid jer mi stvarno nemamo šifru „95 “. Ovo je samo upozorenje da svaki filter dobro osmislite, jer ako je prazan pregled znate da filter nije dobar, ali šta ako je filter polovično dobar, tj. daje nekompletne rezultate, to je najveći problem i on traži dobro osmišljavanje možda i više različitih uslova koji bi trebalo da daju isti rezultat, samo zbog provere.
Dobro osmišljen i u praksi potvrđen filter, koji bi mogao da bude od koristi više puta, trebalo bi snimiti za kasniju upotrebu. Snima se tako što u delu za podešavanje-pravljenje filtera, u kome se i vidi uslov filtriranja, pritisnemo na taster „Snimi kao...“, gde zatim dobijamo dijalog boks za snimanje u kome moramo uneti naziv našeg filtera (file name) i pritisnuti „Save“. Na sličan način se i učitava snimljeni filter.
Još samo treba reći da uslov u filteru može biti kompleksan, tj. sadržati više uslova postavljenih po grupama, gde svaka grupa ima svoje uslove, pa čak i da jedan uslov ima svoju podgrupu uslova. Vrlo kompleksno sa puno mogućnosti da se dobije bilo kako osmišljen filter. Primer za jedan kompleksni filter bi bio sledeći: treba nam prikaz prometa artikala iz grupe 95, kao i artikala 1050700, 1050800, 1050900 i to za period od 01.01.2007. do 30.06.2007. Osmišljavanje filtera traje duže ali zato rezultat osmišljavanja izgleda ovako (sve se odvija u delu za podešavanje-pravljenje filtera“): pritisnemo na taster „Filter“ levim tasterom miša i iz ponuđenog menija izaberemo opciju „Dodaj grupu“ i ponovimo još jednom, ali izaberemo „Dodaj uslov“, tako da u nastavku imamo jednu grupu, sa svojim uslovom, i jedan uslov. Kliknemo na taster „...“ (u nastavku tastera piše „I primenjuje se na sledeće uslove“) kreirane grupe i iz menija izaberemo „Dodaj uslov“, tako da nam ova grupa ima dva uslova. Prvi uslov ćemo postaviti kao „šifra između 95 I 96“, drugi uslov kao „šifra u (1050700,1050800,1050900). Zatim ćemo pritisnuti levim tasterom miša na „I“ u klauzuli grupe „I primenjuje se na sledeće uslove“ i iz ponuđenog izabrati „ILI“. U samostalni uslov unosimo „datum između 01.01.07 I 30.06.07“. Ovako to izgleda na slici:

Sve dosad navedeno spada u opšte karakteristike grida, i svaki grid u Lidderu ih ima. Specifičnosti kao što su: štampa, izvoz, snimanje i učitavanje postavki forme grida, objašnjavaćemo u opisima pojedinačnih gridova.