Toon posts:

Tabellen laten resizen door user

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb d.m.v. PHP en Oracle een hele hoop gegevens uit een database gehaald en op het scherm gezet. Nu ziet mijn tabel er standaard erg vreselijk uit; overal worden returns neergezet om de tabel zo smal mogelijk te houden.
Nu weet ik dat door de style table-layout op fixed te zetten, ik kan instellen dat de tabel niet breder wordt dan de opgegeven breedte. De rest van de gegevens zie je dan gewoon niet.

Maar wat ik ook graag zou willen is (zoals o.a. bij een standaard windows-grid als Excel) je kolommen door middel van slepen breden en/of smaller kunt maken. Is hier een simpele oplossing voor?

  • DeFeCt
  • Registratie: Juli 2000
  • Laatst online: 17:33

DeFeCt

je wéét toch

misschien alles in frames pleuren en resize="yes" aanzetten?

Flickr


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Het zal met veel scripten wel met een tabel te doen zijn.. frames lijken me nogal eerlijk gezegd niet een handige oplossing, omdat je kolommen dan niet meer gerelateerd zijn zeg maar (en niet meer kloppen).

Wat je kunt doen is (en wat gebruikelijker is) is niet alles in 1 tabel te gooien. Lange teksten kun je afbreken bijvoorbeeld. En een detailscherm maken voor uitgebreidere informatie..

Verwijderd

denk dat 't met dhtml moet kijk maar eens op http://youngpup.net/
experiments->fluid nav

Verwijderd

Topicstarter
Het is de bedoeling dat er overzicht is... Men moet alles dus binnen 1 scherm kunnen zien. Je moet ook kunnen sorteren op 1 van de kolommen en dus zal het erg lastig worden dat in frames te gaan zetten of subschermen maken...

Verwijderd

Topicstarter
Verwijderd schreef op 11 september 2002 @ 12:34:
denk dat 't met dhtml moet kijk maar eens op http://youngpup.net/
experiments->fluid nav
Geef zelf eerlijk toe; zou je er op zo'n manier mee kunnen werken als er allerlei informatie in staat? Ik zou gek worden. :P
Ook is het geschreven in Flash en dat wil ik liever niet gebruiken i.v.m. compatibiliteit (resultaat moet te gebruiken zijn in omgevingen die geen internet hebben maar wel een webserver en dus w.s. geen flash)

Maar toch bedankt :)

Verwijderd

Topicstarter
Wat ik dus als een eventuele oplossing zie is: de hele tabel op table-layout fixed zodat de tabel in totaal er netjes uitziet met wat afgekapte woorden en als je dan op een rij klikt, dat die hele rij zo breed wordt als het breedste woord. Punt is; table-layout slaat op de gehele table. Kun je dat ook op een cell laten slaan (of eentje die erop lijkt)?

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 28-08 15:30

sopsop

[v] [;,,;] [v]

Ik denk dat het makkelijkste is om boven elke tabel een "<" en een ">" knopje te zetten die vervolgens de kolom breder/smaller maken. Het slepen zelf lijkt me lastig worden, maar wellicht zijn er componentjes voor.
Ik heb ook wel eens de 'windowsgrid' zelf als activeX componentje gemaakt, dat houdt dan wel in dat je die op je (Client)PC moet installeren en ik kan me voorstellen dat dat geen optie is.

Verwijderd

Topicstarter
Dat is het inderdaad niet nee..

Maar die "<" en ">" hebben dus ongeveer hetzelfde effect als mijn idee met de onclick. Het punt is dan alleen dat ik moet kunnen bepalen hoe breed een kolom moet worden; zo breed als de breedste tekst.

Verwijderd

http://www.domapi.com/examples/index.cfm
En dan bij examples 'listgrid' kiezen.

Verwijderd

Topicstarter
Die ziet er inderdaad HEEL goed uit! Die gaan we even proberen aan de praat krijgen :)

Bedankt!

Verwijderd

Topicstarter
Het heeft wel een groot minpuunt voor het doel waarvoor ik het wil gebruiken; stel dat ik er 2200 rijen inzet en een kolom of 30, gaat ie heel moeilijk doen; ik ben nu al 5 minuten aan het wachten op mijn browser die het grid moet laden en de hele pc wordt traag vanwege de grote hoeveelheid componenten die in mn browser worden geladen.

Maar helaas denk ik toch dat ik dit probleem zal blijven houden, ook met gewone tabellen... Alleen maakt dit alles wel erg langzaam, die grids..

Maar toch bedankt :)

Verwijderd

Misschien een aardig idee ! Maak een complete regel in je bovenste <TR>
Stop in elke <TD> een gifje en geef ze een naam. Door nu de width van die gif telkens aan te passen, kan je kolom dan groter of kleiner worden.
Je kunt die width natuurlijk opnemen in een teller ofzo. Dat laat ik aan jou over.

Hier is een klein voorzetje :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<head>
<script language="JavaScript"><!--

function cel(a,b)
{
a="tstimg"+a;
document.images[a].width=b;
}
//--></script>
</head>
<body>
<table width="100%" id="one">
<tr><td>[img]"Blank.gif"[/img]</td>
<td>[img]"Blank.gif"[/img]</td>
<td>[img]"Blank.gif"[/img]</td></tr>
<tr><td>blah blah...</td><td>blablala....</td><td>blah blah...</td></tr>
</table>
<a href="javascript:cel(1,50)">cel 1 klein</a>&nbsp
<a href="javascript:cel(1,80)">cel 1 groot<br>
<a href="javascript:cel(2,50)">cel 2 klein</a>&nbsp
<a href="javascript:cel(2,80)">cel 2 groot</a><br>
<a href="javascript:cel(3,50)">cel 3 klein</a>&nbsp
<a href="javascript:cel(3,80)">cel 3 groot</a>
</body>
</html>

Verwijderd

Verwijderd schreef op 12 september 2002 @ 09:47:
Het heeft wel een groot minpuunt voor het doel waarvoor ik het wil gebruiken; stel dat ik er 2200 rijen inzet en een kolom of 30, gaat ie heel moeilijk doen; ik ben nu al 5 minuten aan het wachten op mijn browser die het grid moet laden en de hele pc wordt traag vanwege de grote hoeveelheid componenten die in mn browser worden geladen.
Misschien is het een goed idee om de gebruiker niet met 66.000 resultaten op een pagina op te zadelen?
Pagina: 1