'cargo los productos
Public Sub cargaproductos()
'Creo las variables que definen el area de botones por fila
Dim bxf, contador As Integer
'Creo la variables que contendran las dimensiones de los botones
Dim altoBoton, anchoBoton As Integer
'Creo las variables de los puntos en los cuales empiezo a pintar los botones
Dim x, y As Integer
'-------------------------------------------------------------------------------------------
bxf = 9 'Por ejemplo defino 9 botones por fila
contador = 0
anchoBoton = 50
altoBoton = 70
x = 10
y = 250
'--------------------------------------------------------------------
Dim conlumna As New DataColumn
conlumna.ColumnName.Contains("Nombre")
cmd.Connection = conexion
cmd.CommandText = "select PLU,Producto from Productos ORDER BY Producto ASC"
adapta.SelectCommand = cmd
adapta.Fill(undataset, "Productos")
For i As Integer = 0 To undataset.Tables("Productos").Rows.Count - 1
'Si alcanzo el maximo de columnas de la fila a pintar
If contador = bxf Then
'seteo el valor del contador
contador = 0
'doy la coordenada para que inicie otra fila para crear botones
y = y + anchoBoton
x = 10
End If
Dim nuevobotonProd As New Button
nuevobotonProd.BackColor = Color.Khaki
'Agrego esta propiedad para darle el nombre al boton
nuevobotonProd.Name = undataset.Tables("Productos").Rows(i).Item(0).ToSt ring()
nuevobotonProd.Location = New Point(x, y)
nuevobotonProd.Size = New Size(altoBoton, anchoBoton)
nuevobotonProd.Text = undataset.Tables("Productos").Rows(i).Item(1).ToSt ring()
Me.Controls.Add(nuevobotonProd)
'Creo 1 evento para todos los botones
'AddHandler Me.Controls(undataset.Tables("FamiliasProducto").R ows(i).Item(0).ToString()).Click, AddressOf btnEvent_Click
'Aumento contador de columnas
contador = contador + 1
'aumento la coordenada para crear otro boton en la siguiente columna
x = x + altoBoton
Next
accion = 0
End Sub
