28. juli 2008 - 13:56Der 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?
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.
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 ...
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 :)
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.
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.
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
du har ret. og det gør den selvfølgelig :) så lidt javascript bruger jeg da
Synes godt om
Ny brugerNybegynder
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.