Creare tabelle a runtime

giovedì 27 settembre 2007 - 21.35

_J_ Profilo | Senior Member

buona sera a tutti,

come posso creare una o più tabelle di dimensioni pre-impostate a runtime?

nel senso..a runtime il mio utente decide un numero, e dopo la pressione di un pulsante si creano tante tabelle per quanto vale il numero inserito...

il num di righe e colonne è preimpostato...

grazie a chi risponderà!
_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..."

PEPE Profilo | Senior Member

Scusa la domanda idiota ma le tabelle che devi creare devono essere diciamo degli oggetti datatable oppure una tabella gia impostata?

_J_ Profilo | Senior Member

ciao!

non è una domanda idiota, anzi... scusa la mia poca precisione..

in poche parole devo realizzare un documento che rappresenta lo stato di famiglia... in base al numero di componenti del nucleo familiare devo avere tante tabelle con una sola riga e una sola colonna nel cui interno ci sono le informazioni per ogni componente della famiglia...

o almeno questo è l'unico modo che mi è venuto in mente per gestire lo stato di famiglia... cioè l'uso di tabelle preimpostate (contenenti delle label) il cui contenuto varia in base al componente.

tu avresti qc suggerimento in proposito?
_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..."

PEPE Profilo | Senior Member

Ciao,
allora avrei una mezza idea di come fare ma vorrei sapere ancora una cosa.

L'utente dice che ha 5 componenti nella sua famiglia.
Devono essere generate quindi 5 tabelle alla pressione del tasto.

Queste tabelle devono essere popolate dall'utente da quello che ho capito del tipo che per ogni componente l'utente dovra mettere ad esempio nome cognome sesso eta ecc ecc. Oppure la gestione è differente.

Scusa se sono puntiglioso ma non vorrei darti una soluzione sbagliata e farti perdere tempo :D.

_J_ Profilo | Senior Member

>Scusa se sono puntiglioso ma non vorrei darti una soluzione sbagliata
>e farti perdere tempo :D.

invece fai benissimo, quindi non hai nulla di che scusarti
e ti ringrazio anche per l'aiuto che mi stai dando!

i dati degli utenti li tengo io, nel senso che quanto un utente si logga al mio sito, vedrà la situazione della famiglia in un gridview, e alla conferma userò le righe del suddetto gv per popolare le tabelle (una per ogni componente)

userò delle label per far vedere il contenuto del gv, label che verranno anch'esse create a runtime

se vuoi quanlche altra informazione, no problem!
_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..."

PEPE Profilo | Senior Member

Allora cosi a primo impatto mi verrebbe da consigliarti questa soluzione.

Per rendere anche abbastanza veloce l'applicazione mi dichiaro una variabile stringa

ciclo i componenti della famiglia andando a prendere i valori dal datagrid tramite i suoi eventi es (itemdatabound, ecc ecc...mo non ricordo bene quale siano :P) e costuendomi le tabelle html come se fosse una stringa...tipo

'Inizia a fare probabilmente un ciclo
stringa=stringa & "<table class='classetabella'><tr><td>metto il valore</td></tr></table><br />"

Una volta che ti sei creato le tabelle le puoi mettere in un div runat server
divTabelle.InnerHtml= stringa

Io lo uso spesso questo sistema ma sto attento a scrivere il codice in modo che la validazione xhtml passi il test ed anche l'accessibilità.
Devi pero' fare attenzione al viewstate in quanto il postbac successivo non ti conserverebbe i dati. Per quello ci sono altri sistemi.

Al fine della sola visualizzazione questo mi sembra un metodo semplice e veloce anche in termini di rendering della pagina :P.

Fammi sapere puo andare, senno cerchiamo altre solution :D:D.

_J_ Profilo | Senior Member

innanzitutti grazie del suggerimento! ma potresti essere un po' più chiaro?

se ho interpretato bene quanto hai detto, ho scritto:
string fam = ""; ;
for (i = 0; i <= 13; i++)
fam = fam + "<table><tr><td>componente i</td></tr></table>";

non riesco poi a comprendere quel DivTabelle.InnerHtml=stringa;


e poi tu cosa usi? vb e asp.net 1.1?
ho visto la tua sintassi e me lo sono chiesto... cmq io uso asp.net2 e 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..."

PEPE Profilo | Senior Member

Ciao,
io uso vb net su asp net 2

cmq in c# sarebbe cosi

sulla pagina aspx ti dichiari <div id="divFamily" runat="server">

nel codebehind

string s="";
for (i=1, i<XXX, i++)
{
s= s & "<table><tr><td>" & componente & "</td></tr></table>"
}
//una volta popolate le tabelle de renderizzi sul div
divFamily.InnerHtml=s;

_J_ Profilo | Senior Member

ok, ora va bene..

ci ho provato e va bene, e nello stesso tempo mi sono accorto che anche il formview fa più o meno la stessa cosa..

cmq grazie per l'aiuto!
_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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5