Repeticion de Campos WinForm segun numero registros

23/07/2004 - 10:24 por Oriol | Informe spam
Hola a todos,

Tengo un winform en C# donde voy a poner una lista de registros que salen de
un SQL Server. Una opcion es hacerlo con un DataGrid, asi solo con enlazar
el datatable al datagrid, ya tengo los datos y me genera tantas filas como
registros. Pero en este caso no me sirve al 100% esto, y quiero hacer como
en ASP, es decir, crear una fila con campos de texto, labels etc... y que se
vaya repitiendo dentro del form para cada registro.

Basicamente quiero que se genere en tiempo de ejecucion un formulario con
tantas filas con labels y textboxs como registros en la base de datos.

Alguna idea de como se puede hacer? Se que los formularios de Access lo
permitian, ya que lo hice en su momento, y en ASP tambien con un for... pero
en WinForm no se como hacerlo.

Mi idea seria crear un un subform con la fila a repetir (con todos los
campos, etc...) y despues segun una consulta ir repitiendo las filas. Seria
correcto o factible.

Gracias.

Oriol.
 

Leer las respuestas

#1 pablo crosio
23/07/2004 - 17:00 | Informe spam
hola!

pues podrias ir creando los TextBox a medida que recorres
tu DataTable o DataReader... algo asi

TextBox t;
DataTable tbl = ObtenerDataTable();
for(int n = 0; n < tbl.Rows.Count; n++)
{
t = new TextBox();
t.Location = new System.Drawing.Point(50, 50 + n * 30);
t.Name = string.Format("t{0}", n);
t.Size = new System.Drawing.Size(64, 20);
t.TabIndex = n;
// contenido del primer campo
t.Text = tbl.Rows[n][0].ToString();
// this es la referencia al formulario contenedor
this.Controls.Add(t);
}

claro que si queres manejar los eventos de los textboxs
deberias primero guardar las referencias a los mismos en
algun lado para luego identificarlos facilmente (arreglo,
lista de arreglos, etc) y asignar a sus eventos los
delegados que sean necesarios...

nota: si tus registros son muchos deberias setear a true
la propiedad AutoScroll del formulario

salu2!!

pablo


Hola a todos,

Tengo un winform en C# donde voy a poner una lista de


registros que salen de
un SQL Server. Una opcion es hacerlo con un DataGrid, asi


solo con enlazar
el datatable al datagrid, ya tengo los datos y me genera


tantas filas como
registros. Pero en este caso no me sirve al 100% esto, y


quiero hacer como
en ASP, es decir, crear una fila con campos de texto,


labels etc... y que se
vaya repitiendo dentro del form para cada registro.

Basicamente quiero que se genere en tiempo de ejecucion


un formulario con
tantas filas con labels y textboxs como registros en la


base de datos.

Alguna idea de como se puede hacer? Se que los


formularios de Access lo
permitian, ya que lo hice en su momento, y en ASP tambien


con un for... pero
en WinForm no se como hacerlo.

Mi idea seria crear un un subform con la fila a repetir


(con todos los
campos, etc...) y despues segun una consulta ir


repitiendo las filas. Seria
correcto o factible.

Gracias.

Oriol.


.

Preguntas similares