[ASPNET/C#] popolare textbox con ciclo

lunedì 18 gennaio 2010 - 20.16

Anonimo Profilo | Senior Member

Salve, vorrei popolare e creare dinamicamente delle textbox , in questo modo:

whie(rs.read())
{
textobx1.text = "" + rs["prova"] + "";
eco si via
}

Però vorrei fare che le textbox si creano quando carico il ciclo while,

mi dite come fare?
USO mysql con OdBC , ma questa mela cavo da solo, per ora non so come scrivere il codice per creare delle textbox con ciclo.
mi può star bene anche <input name="p" type="text" value="I"> cosi va bennisssimo. però io non lo so fare.

grazie.
aspetto risposte.
grazie

alx_81 Profilo | Guru

>Salve, ciao
>
>
>vorrei fare che le textbox si creano quando carico il ciclo while, mi dite come fare?
Devi utilizzare la classe TextBox ed istanziarla con il costruttore. Poi aggiungerla al contenitore nel quale vuoi che vengano aggiunti i campi di testo.
Immagina di avere un div runat=server chiamato "divProva", per aggiungere al suo interno devi:

- creare un TextBox usando la new della classe TextBox
- Aggiungere alla collezione dei controlli il textbox creato

qui un semplicissimo esempio:
http://forums.asp.net/t/1464552.aspx

>USO mysql con OdBC , ma questa mela cavo da solo, per ora non
>so come scrivere il codice per creare delle textbox con ciclo.
Potresti usare il mysqlconnector dedicato:
http://dev.mysql.com/downloads/connector/net/

>grazie
di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Anonimo Profilo | Senior Member

grazie per le info, mi daresti una mano ad fare questo ciclo:

ho preso il codice dai link che mi hai postato:

// create a textbox
TextBox textbox = new TextBox();
textbox.Text = "whatever you like son";

// add it to a control
PlaceHolder1.Controls.Add(textbox);


Però come faccio ad fare che viene popolato da un campo del db chiamato "ordine".
e poi richiamare quel textbox da un button1_click.
Altro. il mysql connector lo so che è meglio , ma non me lo fanno installare l'hosting che ho perchè sono hosting condiviso non dedicato.

grazie.

Anonimo Profilo | Senior Member

allora, per popolare con odbc e mysql faccio cosi:

OdbcConnection conn = new OdbcConnection(connectionString); string SQL = ""; SQL = SQL + "SELECT * FROM menu order by ordine"; conn.Open(); OdbcCommand cmd = new OdbcCommand(SQL, conn); OdbcDataReader rdr = cmd.ExecuteReader(); while(rdr.Read()) { // Qui metto textbox1.Text = "" + rdr["prova"] + ""; } conn.Close(); conn.Dispose(); rdr.Close();
Ora che devo fare? per far quello che chidevo io ?

grazie.

alx_81 Profilo | Guru

>// create a textbox
>TextBox textbox = new TextBox();
>textbox.Text = "whatever you like son";
Qui aggiungi anche un ID univoco, magari componi una stringa "Txt_" + contatore_del_tuo_ciclo.ToString();
es:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

>// add it to a control
>PlaceHolder1.Controls.Add(textbox);
PlaceHolder1 è il container, mi raccomando.. Ad esempio la form, o un div, o una table, l'importante è che sia runat server, altrimenti non lo vedi.

>Però come faccio ad fare che viene popolato da un campo del db chiamato "ordine".
Devi fare con il connettore mysql che hai, quindi dipende dal modello ad oggetti del connettore che stai usando, hai documentazione?

>e poi richiamare quel textbox da un button1_click.
In questo caso guarda come gestire l'aggiunta a runtime degli eventi in C#:
http://www.dotnetspider.com/resources/859-Subscribing-un-subscribing-event-handlers.aspx


--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

alx_81 Profilo | Guru

>OdbcConnection conn = new OdbcConnection(connectionString);
> string SQL = "";
> SQL = SQL + "SELECT * FROM menu order by ordine";
> conn.Open();
> OdbcCommand cmd = new OdbcCommand(SQL, conn);
> OdbcDataReader rdr = cmd.ExecuteReader();
> while(rdr.Read())
> {
>// Qui metto textbox1.Text = "" + rdr["prova"] + "";
>
> }
> conn.Close();
> conn.Dispose();
> rdr.Close();
>
>
>Ora che devo fare? per far quello che chidevo io ?
ok, replica il codice di prima usando il reader proprio come fai tu in questo esempio.
Mi raccomando, imposta un id per la textbox, e, se puoi, usa la using per gestire la connessione:
http://msdn.microsoft.com/en-us/library/yh598w02(VS.80).aspx
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Anonimo Profilo | Senior Member

ti ringrazio molto,

però mi protesti fare un esempio semplice perchè non ci riesco propio, mi fai un esempio con il mio codice?

Grazie ora vedo i siti , ma non ci capisco un tubo, melo prosteti spiegarmelo con un esempio tuo o con il codice mio.

grazie.

Anonimo Profilo | Senior Member

nessuno?,

:)

alx_81 Profilo | Guru

>nessuno?,
se hai un giorno di pazienza domani sera ti rispondo, mi serve un pochino per farti un esempio e domani sera riesco
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Anonimo Profilo | Senior Member

ok, non ho fretta , fai pure.

alx_81 Profilo | Guru

>ok, non ho fretta , fai pure.
scusa il ritardo ma è stato un inizio settimana pesantuccio..
eccoti un esempio:

using (OdbcConnection conn = new OdbcConnection(connectionString)) { string SQL = "SELECT * FROM menu order by ordine"; conn.Open(); using (OdbcCommand cmd = new OdbcCommand(SQL, conn)) { OdbcDataReader rdr = cmd.ExecuteReader(); int i = 1; while (rdr.Read()) { // create a textbox TextBox textbox = new TextBox(); textbox.Text = rdr["ordine"].ToString(); textbox.Id = "txt_" + i.toString(); //add textbox to the page level this.Controls.Add(textbox); i++; } rdr.Close(); } }

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Anonimo Profilo | Senior Member

grazie ora provo...
scusa per il ritardo.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5