Como asignar un valor a varios Textbox desde C# .Net mediante un for next?

21/08/2008 - 16:13 por jazdian | Informe spam
Hola a todos:

Tengo 10 Textbox en mi página WEB y sus IDs son Text1, Text2, Text3,
etc... quiero asignar un valor a los 10 TextBox mediante un bucle.
Traté de hacer algo parecido a como se hace en VisualBasic pero no me
funciona. Este es mi código.

for (int i = 1; i <= 10; i++)
{
this.TextBox[i].Text = "Valor a asignar";
}

Espero alguien me pueda ayudar.

Saludos a todos

Preguntas similare

Leer las respuestas

#1 Juan Perez
21/08/2008 - 16:35 | Informe spam
jazdian wrote:
Hola a todos:

Tengo 10 Textbox en mi página WEB y sus IDs son Text1, Text2, Text3,
etc... quiero asignar un valor a los 10 TextBox mediante un bucle.
Traté de hacer algo parecido a como se hace en VisualBasic pero no me
funciona. Este es mi código.

for (int i = 1; i <= 10; i++)
{
this.TextBox[i].Text = "Valor a asignar";
}

Espero alguien me pueda ayudar.

Saludos a todos



Sería algo así:

private void btnLimpiar_Click(object sender, EventArgs e)
{
//Limpiar de manera rapida
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
c.Text = "";
//Enfoco en el primer TextBox
this.textBox1.Focus();
}
}
}

Fuente:
http://geeks.ms/blogs/jberrocal/arc...mente.aspx

Saludos!
Respuesta Responder a este mensaje
#2 jazdian
21/08/2008 - 18:34 | Informe spam
On 21 ago, 09:35, Juan Perez wrote:
jazdian wrote:
> Hola a todos:

> Tengo 10 Textbox en mi página WEB y sus IDs son Text1, Text2, Text3,
> etc... quiero asignar un valor a los 10 TextBox mediante un bucle.
> Traté de hacer algo parecido a como se hace en VisualBasic pero no me
> funciona. Este es mi código.

> for (int i = 1; i <= 10; i++)
> {
> this.TextBox[i].Text = "Valor a asignar";
> }

> Espero alguien me pueda ayudar.

> Saludos a todos

Sería algo así:

private void btnLimpiar_Click(object sender, EventArgs e)
{
     //Limpiar de manera rapida
     foreach (Control c in this.Controls)
     {
       if (c is TextBox)
         {
            c.Text = "";
            //Enfoco en el primer TextBox
             this.textBox1.Focus();
         }
      }

}

Fuente:http://geeks.ms/blogs/jberrocal/arc...ormacio...

Saludos!



Es una buena solución, sin embargo, necesito tanto ingresar un valor
para ponerlos en blanco de un solo ckick (y la solución que das es
perfecta) Pero cuando el usuario llene los texbox recuperar los
valores para guardarlos en una base, pero el problema es que quiero
insertar 5 registros de una vez.

Así tengo mi formulario:

TextBoxA1 TextBoxB1 Registro 1
TextBoxA2 TextBoxB2 Registro 2
TextBoxA3 TextBoxB3 Registro 3
TextBoxA4 TextBoxB4 Registro 4
TextBoxA5 TextBoxB5 Registro 5

[Guardar Datos] <- Mi botón para guardar los cinco registros de una
vez desencadena este evento. Pero se me hace muy repetitivo. ¿Hay una
forma de insertar estos cinco registros mediante un bucle for o
foreach?

protected void Button1_Click(object sender, EventArgs e)
{
//Primer Registro
1
string InsertarDatos = "INSERT INTO MiTabla "
+ "(idNombre, Nombre) "
+ "VALUES (" + Convert.ToInt16(this.TextBoxA1.Text) +
", '" + This.TextBoxB1.Text + "') ";
SqlConnection MyConexion = new SqlConnection(miconexion);
System.Data.SqlClient.SqlCommand MyUpdate = new
SqlCommand(InsertarDatos, MyConexion);
MyUpdate.Connection.Open();
MyUpdate.ExecuteNonQuery();
//Primer Registro
1

//Registro
2
string InsertarDatos = "INSERT INTO MiTabla "
+ "(idNombre, Nombre) "
+ "VALUES (" + Convert.ToInt16(this.TextBoxA2.Text) +
", '" + This.TextBoxB2.Text + "') ";
SqlConnection MyConexion = new SqlConnection(miconexion);
System.Data.SqlClient.SqlCommand MyUpdate = new
SqlCommand(InsertarDatos, MyConexion);
MyUpdate.ExecuteNonQuery();
//Registro
2

//Registro
3
... mismo código
//Registro
3

//Registro
4
... mismo código
//Registro
4

//Registro
5
... mismo código
//Registro
5

}

Espero hayauna solución donde utilice menos código, pues no quiero
imaginar cuando tenga que insertar 10, 20, 30...etc... registros a la
vez.

Espero puedan ayudarme.
Respuesta Responder a este mensaje
#3 Chelo
21/08/2008 - 18:54 | Informe spam
Pues yo lo hago con el 'tag' de cada control
ejemplo frmCLientes

textbox1.tag="Nombre"
textbox2.tag="Direccion"
textbox3.tag="Fono"

recuperar datos
''' lleno el data set o tatable
'' le asignas a un reader o un row.. en este caso un reader

mireader.read();
foreach(Controls control in FrmClientes.Controls)
{
string campo=control.tag.tostring();
control.text=mireader[campo].tostring();
}

eso es lo basico. y para guardar pues generas un sql con insert o
update con los tag's y text's de los controles, o mas facil,lo haces a
la inversa de esto, remplazando el reader por un datatable y luego
guardarlo...

espero que te de alguna idea.
Respuesta Responder a este mensaje
#4 jazdian
21/08/2008 - 20:33 | Informe spam
On 21 ago, 11:54, Chelo wrote:
Pues yo lo hago con el 'tag' de cada control
ejemplo frmCLientes

textbox1.tag="Nombre"
textbox2.tag="Direccion"
textbox3.tag="Fono"

recuperar datos
''' lleno el data set o tatable
'' le asignas a un reader o un row.. en este caso un reader

mireader.read();
foreach(Controls control in FrmClientes.Controls)
{
   string campo=control.tag.tostring();
   control.text=mireader[campo].tostring();

}

eso es lo basico. y para guardar pues generas un sql con insert o
update con los tag's y text's de los controles, o mas facil,lo haces a
la inversa de esto, remplazando el reader por un datatable y luego
guardarlo...

espero que te de alguna idea.



Ok:

Me han dado ideas, voy implantarlas mi web y después les comento como
quedó.

Gracias y saludos a todos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida