Avatar billede nielsenmathias Nybegynder
28. juli 2008 - 13:56 Der er 13 kommentarer og
1 løsning

Dynamiske tables

Hejsa.

Jeg har på en side brug for at vise to tabeller arrangeret vertikalt. Der er naturligvis ingen sag at definere disses højde fast, men er der nogen måde hvorpå man kan gøre dette dynamisk i forhold til mængde af data der skal vises (resultatet af database queries), samt skærmens størrelse?

Og kan man endvidere specificere en vægtning mellem de to tabeller, således at ét table får lov til at brede sig hvis det andet table ikke har så mange data at vise?

På forhånd tak

Mathias
Avatar billede w13 Novice
28. juli 2008 - 14:28 #1
Har du mulighed for at illustrere det, du ønsker?
Avatar billede nielsenmathias Nybegynder
28. juli 2008 - 14:56 #2
Skal prøve

Begge tables har lige meget data:
-------------                         
---table 1---
  *******
  *******
---table 2---
  *******
  *******
-------------

Table 1 har mere data:
-------------                         
---table 1---
  *******
  *******
  *******
---table 2---
  *******
-------------

De 2 tables samlede forbrug skal med andre ord altid være det samme. Dog kan table 1 i det sidste eksempel få lov til at brug mere plads da table 2 kun har én datarække.
Det er så her leder efter en css/xsl kommando der gør mig i stand til dynamisk at sætte størelse på hvert table.

Hjælper det?
Avatar billede w13 Novice
28. juli 2008 - 15:40 #3
Hmm. Dér må du ud i noget JavaScript så.
Avatar billede roenving Novice
29. juli 2008 - 00:11 #4
Hvis du skriver det rent i html3.2 og laver det som een tabel, sker det da automatisk ?-)
Avatar billede olebole Juniormester
29. juli 2008 - 00:28 #5
<ole>

- eller måske kileskrift?  =)

/mvh
</bole>
Avatar billede roenving Novice
29. juli 2008 - 00:36 #6
Tror du ikke det er for svært, er der ikke et par hundrede forskellige tegn ?-)

-- ej, spøg til side, jeg har svært ved at gennemskue behovet for at fylde en side i højden, hvis der ikke er behov for det, og er der behov for mere plads end sidehøjden, må det vel være smart at der er adgang til alle data via en scrollbar ...
Avatar billede nielsenmathias Nybegynder
29. juli 2008 - 08:16 #7
Som oftest indeholder tabel 1 væsentligt mere data end tabel 2. Hvis begge tabeller har, lad os sige 40% af skærmen hver, virker det dumt hvis tabel 2 kun har én række at vise - i det tilfælde burde tabel 1 strække sig længere! Men det kan man åbenbart ikke definere vha. css - for der har begge tabeller statisk højde, og hvis der er mere data at vise får man automatisk en scrollbar.

Kommentarer ønskes stadig gerne, vittige eller konstruktive :)
Avatar billede wanze Nybegynder
29. juli 2008 - 18:44 #8
Ville det ikke være en mulighed blot at bruge én tabel til begge tabellers data? Jeg har lavet et lille eksempel:

http://nze.dk/210/yes.html
Avatar billede nielsenmathias Nybegynder
30. juli 2008 - 08:05 #9
Tak for buddet.

Jeg arbejder med en løsning, hvor tabellernes højde sættes fra java afhængigt af mængden af data og fordelingen af data (begge kan jo variere meget). Fra java bliver det sendt til xsl der fortolker den xml jeg har genereret, og evt. overskriver de default tabelhøjder jeg har defineret i css.
De første forsøg ser ud til at virke.
Avatar billede olebole Juniormester
30. juli 2008 - 21:23 #10
Du mener formodentlig JavaScript - som er et helt andet sprog end Java. De to sprog har stortset kun de fire bogstaver til fælles  =)
Avatar billede nielsenmathias Nybegynder
30. juli 2008 - 21:35 #11
Nej jeg mener skam java, og jeg har fået det til at virke. Bruger en transformer (er ikke lige i nærheden af koden, men sig til hvis jeg skal finde pakkenavn) der tager xml og xsl som input. Ud kommer html. Før det har jeg fra java sat to xsl variable, nemlig højderne på de to tables. Højderne udregnes dynamisk fra java i forhold til resultatet af de to db queries der skal fylde tabellerne, idet den samlede plads til de to tables fordeles dynamisk som skitseret ovenfor.
Avatar billede nielsenmathias Nybegynder
30. juli 2008 - 21:37 #12
alle skal have tak for input
Avatar billede olebole Juniormester
30. juli 2008 - 21:50 #13
Jamen, du kan da ikke beregne nogen højder med Java. Java kan vel ikke vide, hvor høj teksten er i netop min browser - med mindre den måles i browseren (med DOM/JavaScript) og medsendes til serveren
Avatar billede nielsenmathias Nybegynder
30. juli 2008 - 21:52 #14
du har ret. og det gør den selvfølgelig :) så lidt javascript bruger jeg da
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester