Tabelle htm

martedì 03 luglio 2007 - 09.47

_J_ Profilo | Senior Member

ciao ragazzi, qualcuno di voi potrebbe suggerirmi come rendere visibili o invisibili a comando le tabelle htm? (quelle delle pagine htm con il tag <table> )

o più in generale come potrei gestire questo tipo di controllo?

_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>ciao ragazzi, qualcuno di voi potrebbe suggerirmi come rendere
>visibili o invisibili a comando le tabelle htm? (quelle delle
>pagine htm con il tag <table> )
>
>o più in generale come potrei gestire questo tipo di controllo?
Puoi metterle in un div e gestire la visibility lato client oppure mettere la tabella in un panel e gestire la proprietà visible lato server..

>
>_J_
>
>"Chi fa domande rischia di sembrare stupido,
>chi non ne fa rischia di restare stupido..."
>
>"Conosco me stesso? No, non parlo con gli estranei..."

Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

userò il panel..
grazie

un'altra cosa: come potrei duplicarlo?

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>userò il panel..
>grazie
>
>un'altra cosa: come potrei duplicarlo?
cosa intendi di preciso?
>
>_J_
>"Chi fa domande rischia di sembrare stupido,
>chi non ne fa rischia di restare stupido..."
>
>"Conosco me stesso? No, non parlo con gli estranei..."

Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

nel pannello ho messo la tabella htm che, all'occorrenza, diviene visibile.

devo duplicare la tabella nel pannello tante volte in base ad un numero digitato dall'utente (il problema che avevo ieri), ecco il perchè della mia richiesta.
ho visto che panel non supporta clone(), come posso fare?

_J_

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>nel pannello ho messo la tabella htm che, all'occorrenza, diviene
>visibile.
>
>devo duplicare la tabella nel pannello tante volte in base ad
>un numero digitato dall'utente (il problema che avevo ieri),
>ecco il perchè della mia richiesta.
>ho visto che panel non supporta clone(), come posso fare?
Usa un repeater il cui itemtemplate è il panel con all'interno una tabella..
l'unico problema è come progettare la sorgente.. lo lascio alla tua fantasia
>
>_J_
>
>"Chi fa domande rischia di sembrare stupido,
>chi non ne fa rischia di restare stupido..."
>
>"Conosco me stesso? No, non parlo con gli estranei..."

Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

ho creato il repeater ma non trovo la proprietà itemtemplate... anzi mi chiede una sorgente dati...

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

Eccoti un esempio..
<asp:Repeater ID="rptHndView" runat="server"> <ItemTemplate> Qui metti il panel con la tabella </ItemTemplate> </asp:Repeater>

Ora tocca a te capire come ripetere gli item..
ti do solo un link da leggere..

http://msdn2.microsoft.com/en-us/library/6weyd81h.aspx

Poi lascio alla tua fantasia come comporre il datasource
Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

ciao,

ho visto il tuo articolo e ho provato ad usare un repeater, ma devo per forza usare un database esterno, mentre io voglio duplicare solo una tabella che non si connette a nessun database esterno, ma è composta di campi input vuoti...

cmq il repeater l'ho testato su un database di prova che avevo e a runtime esce una cosa carina...

ma per il mio caso non uso database esterni.... o forse ho capito male io l'articolo??

"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

>ciao,
Ciao!
>
>ho visto il tuo articolo e ho provato ad usare un repeater, ma
>devo per forza usare un database esterno, mentre io voglio duplicare
>solo una tabella che non si connette a nessun database esterno,
>ma è composta di campi input vuoti...
Non è mica vero che ti serve un database esterno.. è proprio lì il trucco..puoi farti un datatable ad esempio, con i valori che servono a te .
Puoi crearti un iteratore tuo, non c'è alcun problema, purchè sia un oggetto che possa essere assegnato alla proprietà DataSource del tuo Repeater..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

un mio iteratore? scusami, ma essendo novizio non so muovermi molto bene con i repeater...

mi potresti chiarire l'argomento? (sempre se ti va..)

vorrei imparare ad usarli perchè, come ti ho detto, a runtime ho molto gradito il loro effetto...


_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

ghio Profilo | Newbie

Un alternativa a l'uso del repeater è creare un classico ciclo for next utilizzando response.write per inserire il codice html dove ti serve o utilizzando i componenti delle pagine asp.net.
Volendo puoi risolvere il problema anche lato client utilizzando javascript.
Spero di esserti stato utile, ciao.

_J_ Profilo | Senior Member

in effetti era mia intenzione usare il for, ma non sapevo come giostrare la situazione, nel senso che non sapevo appunto come dirgli che doveva duplicare un pannello...
è proprio la duplicazione il mio problema....

quindi tu dici response.write... ma non accetta solo stringhe? oppure accetta anche altre cose (tipo tag htm) o oggetti vari (tipo oggetti, pannelli ecc...)?

purtroppo il controllo repeater non lo conosco bene, come non conosco neppure javascript, sebbene la duplicazione vorrei proprio farla proprio lato client visto che sarà l'utente a dirmi quante copie vuole della tabella in questione...

comunque grazie per il suggerimento!

_J_

P.S.: benvenuto!


"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

ghio Profilo | Newbie

respose.write accetta solo stringhe ma nella stringa tu puoi mettere i tag html.
ti consiglio di fare dei test su una nuova pagina e crearti la parte di codice con i cicli.
in questo modo potrai testare come funziona il response.write
prova ad inserire questo nel "on_load" della tua pagina:

dim strTempa as string="<html><head><title>Pagina di prova</title></head><body>testo di prova</body></html>"
response.write(strTemp)
Ciao

_J_ Profilo | Senior Member

grazie per il chiarimento e per il suggerimento... lo adatterò a c#

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

ghio Profilo | Newbie

Per quanto riguarda il javascript è molto semplice:
for (i=0; i<TopMenu.length; i++)
{
var mname=layerprefix+i;
var menuleft=buttonWidth * (i);
olayer.innerHTML=olayer.innerHTML + "<div id=\"" +mname + "\" style=\"z-index: 110; width: "+buttonWidth+"px;
color: black; font-family: Arial, Helvetica, sans-serif; position: absolute; top: 1px ; height: "+menuHeight+"px; left:
"+ menuleft + "px; text-align: center; cursor: hand;\" onmouseover=\"mroll('"+mname+"')\" onmouseout=\"unmroll
('"+mname+"')\" onclick=\"clicked('"+mname+"')\" \>" + TopMenu[i][0] + "</div>";
}
questo è uno spezzone di codice che uso per crearmi dinamicamente dei menu.
Utilizzo un ciclo for(molto simile a c#) recuperando il limite superiore da una variabile, nel tuocaso potrebbe essere il ".value" di un lista a discesa, poi vado a crearmi il codice html che mi serve.
come vedi javascript non fa molte distinzioni tra i vari tipi di dati, "layerprefix+i", ad esempio mi restiruisce il il valore di una variabile contenente del testo ed "appende" un integer.
mentre oLayer è semplicemente un oggetto Layer che recupero utilizzando il nome dello stesso in questo modo:
var olayer;
if (document.all)
{
olayer=document.all(layername);
}
else
{
olayer=document.layers(layername);
}
mentre con innerHTML (attento alle MAIUSCOLE/minuscole) inserisco nel tag <div> del codice html.
Non so se sono stato chiaro, fammi sapere se ti servono ulteriori chiarimenti. Ciao

PS grazie del benvenuto

_J_ Profilo | Senior Member

ora mi guarderò il codice e ti dirò, ok?

grazie ancora!

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."

alx_81 Profilo | Guru

Intervengo nuovamente

Non sono d'accordo con l'utilizzo del ciclo e del response.write e sinceramente quel javascript non mi sembra molto comodo . Ma è una mia opinione..

Per quanto riguarda la soluzione che ti consiglio di utilizzare è di crearti un array, con dentro i tuoi numeri e poi di passarlo alla proprietà DataSource del repeater, ed il gioco è fatto. La difficoltà sta solo nel disegnare l'ItemTemplate quindi seguirei questa strada senza complicarmi troppo la vita..

Ripeto è una mia opinione, ma tornare alle response write in ASP.NET mi sembra un pochino eccessivo .
ciao a tutti!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

ghio Profilo | Newbie


mi permetto di dissentire per quanto riguarda l'utilizzo del ciclo For next.
La memoria utilizzata per i loop e per l'mmagazzinamento di stringhe è sicuramente inferiore a quella che serve per istanziare un oggetti.
Lo "spreco" di memoria su un server web, dove le istanze delle pagine caricate possono essere anche centinaia contemporaneamente è assolutamente da evitare.
per il codice javascript invece sono d'accordo che è oneroso, ma, se si vuole realizzare la generazione degli ogetti dal lato client mi sembra una delle strade più facili.

Ciao

alx_81 Profilo | Guru

>
>mi permetto di dissentire per quanto riguarda l'utilizzo del
>ciclo For next.
>La memoria utilizzata per i loop e per l'mmagazzinamento di stringhe
>è sicuramente inferiore a quella che serve per istanziare un
>oggetti.
>Lo "spreco" di memoria su un server web, dove le istanze delle
>pagine caricate possono essere anche centinaia contemporaneamente
>è assolutamente da evitare.
vero, ma devi anche considerare se effettivamente andiamo in contro ad uno spreco oneroso di memoria, se si tratta di poche righe, eviterei di complicarmi la vita. Quello che dici è comunque corretto. Ma controllerei se effettivamente il gioco vale la candela.

>per il codice javascript invece sono d'accordo che è oneroso,
>ma, se si vuole realizzare la generazione degli ogetti dal lato
>client mi sembra una delle strade più facili.
Ognuno ha le sue opinioni
>
>Ciao
Ciao!
>

Alx81 =)

http://blogs.dotnethell.it/suxstellino

ghio Profilo | Newbie

Io credo, ma è un mio parere, che su un server web anche 1 kb sprecato è tanto, infatti i server gestiscono molte pagine contemporaneamente e le tengono in cache per un determinato periodo. Per di più proprio perchè le righe di codice sono poche e di facile implementazione che prendererei in considerazione il sistema più ottimizzato per lo sviluppo di questa parte di codice. Lascerei stare se le risorse sprecate fossero quasi nulle e la quantità di codice mi impedisse di consegnare in tempo il lavoro. Questo è solo un mio umile parere. Grazie Ciao

alx_81 Profilo | Guru

Ognuno ha le sue opinioni, è normale
Alx81 =)

http://blogs.dotnethell.it/suxstellino

_J_ Profilo | Senior Member

ciao ragazzi,
scusate la mia assenza ma ho avuto problemi di salute... (raffreddore in piena estate... )

cmq volevo dirvi che causa la febbre ho lasciato un po' da parte l'argomento che vi ho proposto, e poi perchè mi si è presentato davanti un altro quesito un po' più urgente, che ho postato in una nuova discussione...

cmq vi ringrazio per le risposte, e non appena avrò risolto questo nuovo problema ritornerò su questo...

_J_
"Chi fa domande rischia di sembrare stupido,
chi non ne fa rischia di restare stupido..."

"Conosco me stesso? No, non parlo con gli estranei..."
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5