Newsgroup: it.comp.lang.javascript
Titolo: Tabelle molto grosse

Ciao a tutti,
devo ricorrere alla vostra esperienza di sviluppatori web (in particolare
web application)
Devo creare un oggetto javascript che permetta la visualizzazione di
miliaia di record tabellari, diciamo che per il momento dovrebbe essere
dell'ordine di grandezza di 2000 righe per 16 colonne con un contenuto
medio per cella di 6 lettere, ma a questo punto già che lo faccio (o che lo
cerco), mi interesserebbe permettere/prevedere anche molti più record...
Qualcuno ha mai affrontato la questione?

 cerco), mi interesserebbe permettere/prevedere anche molti più record...
va assolutamente "spezzettato" in pagine server-side. Attenzione che IE con
tabelle enormi va spesso in crisi (o almeno così capita nella mia intranet
quando, appunto, decido di non paginare una pagina)
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 quando, appunto, decido di non paginare una pagina)
Vista la tua esperienza (che è proprio quella che cercavo), potresti essere
più preciso sulle dimensioni...
Poi elenco le possibili soluzioni che mi sono venute in mente e vediamo se
ce ne sono di migliori/performanti/non crashanti :)
Ciao

 più preciso sulle dimensioni...
dipende dal contesto ... mi sono capitate in intranet tabelle di 100 record
dove IE andava in palla, ma ogni riga conteneva un sacco di oggettini,
select, text, tasti etc.
Se è per internet IMHO più di 20-30 righe non vanno mai messe perché
diventa troppo dispersivo.
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 diventa troppo dispersivo.
capisco

 pagina
se è la specifica obbligata dal cliente bon, spiegagli la pazzia e poi
implementala, è lui che paga no? :-)
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 se è la specifica obbligata dal cliente bon, spiegagli la pazzia
è questo di cui mi devo ancora convincere io stesso, pero'...
per aiutarmi potresti rispondermi alle seguenti domande:
- in html puro, senza passare attraverso JS, i browser quante migliaia di
righe di una tabella (del tipo di cui prima) riescono a digerire in
sicurezza
- una variabile JS, quanti Kb/Mb di testo può contenere senza fare delirare
il browser
- un'array in JS, quanti elementi può avere, sempre fino a chè il browser
ne risenta
?
Diciamo qualcosa di più o meno consolidato, del tipo: "è noto che sia
meglio..."
Ciao

 meglio..."
č noto che IE (quantomeno il 6, non ancora capitato col 7) se ha troppo
oggetti nella pagina va in palla, li visualizza male, le select fanno
casini etc.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 casini etc.
ok
Un'ultima cosa, non me ne sono mai occupato perchè non mi era mai capitata
l'occasione, cmq le XMLHttpRequest possono andare in timeout? e questo non
è configurabile?

 è configurabile?
ahimé sì, e ancora di più ahimé non è configurabile (ho dei report in
intranet che soffrono di questo problema)
-- 
"La realtà è un'illusione causata dall'assenza di alcool."
									      A.

 intranet che soffrono di questo problema)
ok, ho visto
e con stupore ho anche notato che non mi dice niente, cioè l'oggetto mi va
in readyState = 4 e status = 200 come se niente fosse...
si può intercettare in qualche modo o devo prevedere un orologio interno
con un tempo configurabile entro il quale devo considerare il ritorno
troncato a causa del timeout?

 troncato a causa del timeout?
no, non ci ho mai studiato ... mi ero ripromesso di verificare se il
timeout scattava anche in modalità asincrona, ma te lo starai già usando
asincrono, vero? Se è così l'unica speranza che avevo in mente è saltata
...
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 ...
ora vado a vedere cosa succede in modalità sincrona :) anzi c'è poco da
ridere :(

 ridere :(
uguale ...
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 uguale ...
:"(
Ma che bello, mentre so facendo una richiesta sincrona (che ho impostato di
3 min...) con FF mi sono accorto che questo browser è inutilizzabile, fin
tanto che non ha finito...
Ora che ci penso, tempo fa, Zer0 aveva lamentato questo tipo di
comportamento, sconsigliandone l'utilizzo anche in intranet, se non sbaglio

 tanto che non ha finito...
certo, č il significato di sincrono ... cosa vuol dire "impostato di 3
minuti"?
-- 
"La realtą č un'illusione causata dall'assenza di alcool."
									      A.

 minuti"?
ci ho messo qualche sleep, inviavo un po' di input alternando con un po' di
pause :)
era un test...

> ci ho messo qualche sleep, inviavo un po' di input alternando con un po' di
                                              ^^^^^^
output chiaramente :P

 quanto riguarda il 6)
E` il comportamento corretto.
Se fai una richiesta sincrona significa che l'utente non deve poter fare 
niente col browser, perche` da quella risposta dipende il funzionamento 
dell'applicazione.
Facendo funzionare altre finestre non avresti la garanzia che l'utente non 
torni su quel sito e faccia altro, rendendo vana la richiesta sincrona.
Non so come si comporti IE, ma se permette di usare altre finestre durante 
una richiesta sincrona, secondo me e` un comportamento scorretto e 
pericoloso.
Bye.

Ciao.
A proposito di timeout su una xhr.
In questo modulo per i commenti ho implementato
una max attesa  se la richiesta va oltre
il tempo stabilito comunica all'user che c'è
qc che non va e fa il refresh.
http://www.blogial.net/new/index.php?p=6
Sappiatemi dire se fà al caso vs e se vi
viene in mente qc x migliorare il codice ;)