DynamicCatalogs [for learning purposes]

Hace algun tiempo tuve oportunidad de dar unos cursos a becarios en Softtek. Como parte de uno de los ejercicios que hicimos, les puse a crear un «generador dinámico de catálogos» básicamente para que entendieramos bien el modelo de ADO.NET y conocer la facilidad con la que se pueden desarrollar aplicaciones de escritorio.

La premisa es: creamos una forma que acepte como parámetro un nombre de una tabla [public property TableName] y la forma, cada que se cargue leerá los campos de la tabla y los desplegará dentro de la forma, como si fuera una forma de captura.

Aquí les dejo el código fuente completo al ejercicio para que puedan ver como se implementa, obviamente le falta mucho a ser algo funcional pero podría servirles de base…

http://intellekt.ws/users/blogs/weblogstuff/dynamiccatalogs.zip

Ah… y está hecho en VB.NET [para 2003].

Cheers!

1 Public Sub CreateControls()
2 Dim sql As String = «select * from » & _tableName
3 Dim da As New SqlClient.SqlDataAdapter(sql, _connectionString)
4 Dim ds As New DataSet(_tableName)
5 Dim dt As DataTable
6 Dim cm As DataColumn
7 Dim _top As Integer = 20
8
9 da.Fill(ds)
10 dt = ds.Tables(0)
11
12 For Each cm In dt.Columns
13 Dim tx As New TextBox
14 tx.Left = 100
15 tx.Top = _top
16 tx.Name = «txt» & cm.ColumnName
17 tx.Parent = Me
18 tx.Text = «»
19 AddHandler tx.Validating, AddressOf txtValidating
20 Me.Controls.Add(tx)
21
22 Dim la As New Label
23 la.Left = 10
24 la.AutoSize = True
25 la.Top = _top
26 la.Name = «lbl» & cm.ColumnName
27 la.Parent = Me
28 la.Text = cm.ColumnName
29 Me.Controls.Add(la)
30
31 _top += (tx.Height + 10)
32 Next


Comentarios

Deja una respuesta