Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
HTML, Javascript, CSS, DHTML, XHTML
Lunghezza del testo
venerdì 28 agosto 2009 - 16.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
lordwaizard
Profilo
| Senior Member
294
messaggi | Data Invio:
ven 28 ago 2009 - 16:00
Ho una domanda un pò banale ma non so come risolverla.
Ho una stringa di testo varibile presa da un db, di solito per non sforare come lunghezza usavo la funzione mid (o similari) e risolvevo il problema.
Siccome le stringhe sono molte, e questa volta non so qual'è il limite di caratteri, come posso gestire la situazione?
Avevo pensato di fare un rapporto width/n caraterri, e di abbinarlo al ridimensionamento.
C'è qualcosa di più semplice?
Più che altro che dovrei ricaricare tutte le 78 stringhe, e non vorrei far aspettare troppo l'utente.
Non esiste un modo per nasconderli le stringhe intere?
Grazie in anticipo
Davide
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
ven 28 ago 2009 - 18:58
Ciao Davide,
sinceramente non ho capito il tuo problema.
Potresti farmi un esempio?
Fammi sapere
------------------------
Luxsor
lordwaizard
Profilo
| Senior Member
294
messaggi | Data Invio:
sab 29 ago 2009 - 12:17
Il db contiene tre righe:
1) Ciao questa è una prova
2) Prova prova prova
3) Scrivere scrivere....
Ora se io avessi una colonna width=50px so che non ci starebbe tutto il testo, e dovrei provvedere a tagliarlo con mid o altri sistemi.
Ma se la tabella è 100% come faccio a sapere a quanti caratteri devo tagliarlo?
Metti pure che ogni volta che viene caricato cambia la width abbinandolo alla funzione onresize mi conto i caratteri.
Ma rimane il problema che le stringhe sono caricare da db quindi:
ES 1
width=100% (reali 500px)
frase "Ciao questa è una prova"
Tutto è perfetto
ES2
width 100% (reali 50px)
Devo tagliare ma quanto? il programma lato server ha già scritto "Ciao questa è una prova".
Considerando che lui ridimensioni la finistra cosa faccio devo fare un refresh perchè ormai il dato è perso?
Sinceramente non so come uscirne...
Grazie del tuo aiuto
PS
In sintesi mi servirebbe un sistema per stampare la stringa intera e visualizzarla solo quella che ci sta nella cella.
Così se si ridimensiona mostra la parte nascosta senza caricare di nuovo il db,
PS2
Considera che le stringhe sono minimo 78, un reload del db potrebbe risulatre pesantino.
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
sab 29 ago 2009 - 13:50
Ma questo Width che vuoi ridimensionare è una cella di una tabella?
>Ma se la tabella è 100% come faccio a sapere a quanti caratteri
>devo tagliarlo?
Quel 100% si riferisce alla risoluzione dello schermo.
>ES2
>width 100% (reali 50px)
puoi utilizzare la seguente formula approssimativa:
Numero di Caratteri = 50px / (dimensione Carattere)
Facendo cosi se utilizzi un carattere 10 su 50px devi tagliare dal sesto carattere un poi.
Ti consiglio di abbandonare l'approccio con il tag Table e utilizzare qualche controllo Repeater ecc...
Fammi sapere
------------------------
Luxsor
lordwaizard
Profilo
| Senior Member
294
messaggi | Data Invio:
lun 31 ago 2009 - 09:08
Cosa sono i controlli Repeater ?
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
lun 31 ago 2009 - 10:51
Dai un occhiata qua:
http://www.aspitalia.com/articoli/asp.net/grouprepeater.aspx
------------------------
Luxsor
Gluck74
Profilo
| Guru
1.359
messaggi | Data Invio:
gio 24 set 2009 - 13:56
io in genere questo problema lo risolvevo in maniera un po più approssimativa.
Ovvero decidevo a priori di tagliare la stringa ad esempio a 10 caratteri. Nella cella della tabella quindi si vedeva "bla bla bla..." (attaccavo i tre puntini per far capire che il testo era solo un abstract), ed al passaggio del mouse visualizzavo un tooltip javascript (esempio overLib) con il testo completo.
Naturalmente io avevo fatto la scelta di mantenere fisse le dimensioni delle colonne (o contenitori che siano).
Se tu hai la necessità di variare le dimensioni, credo che l'unica maniera sia agire lato client con javascript.
così su due piedi mi verrebbe in mente di aggiungere una funzione onResize (se esite) al contenitore del testo. Questa funzione in pratica controlla la larghezza del contenitore stesso e calcola, come detto da luxor, i caratteri da tagliare.
se vuoi affinare ancora di più la funzione, dovresti calcolarti le posizioni in px degli spazi (in base alla posizione), e troncare la frase e non le parole.
Però fai una considerazione: se nella pagina visualizzi tutte e 78 le righe, e poi ridimensioni il contenitore, la funzione scatta 78 volte e calcola 78 dimensioni nuove dei testi...... Forse il client si incazza un pochino....
Magari anche a te conviene di decidere a priori una dimensione fissa e risolvi velocemente il problema.
Ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !