Ver Mensaje Individual
  #43 (permalink)  
Antiguo 16/01/2011, 03:20
guillebomtrasmiti
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: mostrar datos según selección

hola, hola, holaaaaa, como va la vida, espero que bien, yo por aquí como siempre tocando las pelotillas con preguntitas....jejejeje....necesito que veais que hay mal en esta parte para que no se me borren todos los botones que hay en pantalla y se borren un por uno y no todos de golpe...es decir en pantalla salen tres botones y al pulsar uno en otra parte del programa estos tres botones tienen que borrarse para cargarse otros, el caso es que en vez de los tres botones se me borra solo uno y se ponen solo dos de los nuevos que deberían salir otros tres...si sigo pulsando el botón que carga los botones nuevos...los va eliminando a uno por cada pulsación y colocando a su vez en su sitio...los correctos...os mando el código gracias de antemano como siempre:::::
Código vb:
Ver original
  1. If accion = 1 Then
  2.             ' Recorremos la colección de controles del formulario
  3.            For Each ctrl As Control In Me.Controls
  4.                 ' Si el tipo de control es un Button
  5.                If TypeOf ctrl Is Button Then
  6.                     ' Si se llama "x"
  7.                    If ctrl.Name = "x" Then
  8.                         ' Lo eliminamos de la colección
  9.                        Me.Controls.Remove(ctrl)
  10.                         'Limpio la tabla productos para que no se incremente
  11.                    End If
  12.                     'todo esto es una prueba...................................................
  13.  
  14.                     'la prueba llega hasta aquí..................................................
  15.                End If
  16.             Next
  17.             'Limpio la tabla productos para que no se incremente
  18.            undataset.Tables("productos").Clear()
  19.         End If
  20.  
  21.         Dim conlumna As New DataColumn
  22.         conlumna.ColumnName.Contains("Producto")
  23.  
  24.  
  25.         cmd.Connection = conexion
  26.         cmd.CommandText = "select Producto from Productos where NFamilia = " & fam & " ORDER BY Orden ASC"
  27.  
  28.         adapta.SelectCommand = cmd
  29.         adapta.Fill(undataset, "Productos")
  30.  
  31.         For i As Integer = 0 To undataset.Tables("Productos").Rows.Count - 1
  32.             'Si alcanzo el maximo de columnas de la fila a pintar
  33.            If contador = bxf Then
  34.                 'seteo el valor del contador
  35.                contador = 0
  36.  
  37.                 'doy la coordenada para que inicie otra fila para crear botones
  38.                y = y + anchoBoton
  39.                 x = 10
  40.             End If
  41.  
  42.             Dim nuevobotonProd As New Button
  43.             nuevobotonProd.BackColor = Color.Khaki
  44.             nuevobotonProd.Name = "x"
  45.             nuevobotonProd.Location = New Point(x, y)
  46.             nuevobotonProd.Size = New Size(altoBoton, anchoBoton)
  47.             nuevobotonProd.Text = undataset.Tables("Productos").Rows(i).Item(0).ToString()
  48.  
  49.             Me.Controls.Add(nuevobotonProd)
  50.             'Aumento contador de columnas
  51.            contador = contador + 1
  52.             'aumento la coordenada para crear otro boton en la siguiente columna
  53.            x = x + altoBoton
  54.  
  55.         Next
  56.  
  57.     End Sub