none
array de labels RRS feed

  • Pregunta

  • Hola, estoy haciendo un programa en el cual en el form1 hay 3 grupos de productos, los productos se eligen haciendo clic en el boton con su nombre y en un label anexo va saliendo la cantidad elegida de cada producto, lo que necesito es generar un ticket en otro form (form2) en el cual haya una parte fija, digamos el nombre de la empresa el cif y demas, a continuacion se deberian generar las labels con los productos elegidos, la cantidad y el precio y por ultimo la suma del total, por lo que necesito un array con tantas filas como productos se hayan elegido, y tres columnas (producto, cantidad y precio) no se como generar este array y como asignar los productos elegidos, teniendo en cuenta que no hay limite de eleccion, es decir se debe poder elegir cuantos productos se quiera de cualquier de los tres grupos, espero haberme explicado bien.

    gracias por vuestra ayuda.

    lunes, 23 de marzo de 2015 22:15

Todas las respuestas

  • Saludos:

    Depende en que objeto tengas almacenada la informacion.

    Usemos la mas general, una consulta a la BD. Llenas un DataTable y con sus datos generas los labels, asi:

    Dim Dt_Producto As String
    Dim Dt_Cantidad, Dt_Precio, Dt_Total As Double
    Dim Dt_Linea As Integer
    
    For Each Dt_Row As DataRow In DataSet1.Tables("Productos").Rows
      Dt_Producto = Dt_Row("Nombre_Articulo").ToString
      Dt_Cantidad = CDbl(Dt_Row("Cantidad"))
      Dt_Precio = CDbl(Dt_Row("Precio"))
      Dt_Total = Dt_Cantidad * Dt_Precio
      Dim Lx_Producto, Lx_Cantidad, Lx_Precio, Lx_Total As New Label
      With Lx_Producto
         .Name = Producto & Dt_Linea
         .Text = Dt_Producto
         .Location = New Point(20,20)
      End With
      With Lx_Cantidad
         .Name = Cantidad & Dt_Linea
         .Text = Dt_Cantidad
         .Location = New Point(20,50)
      End With
      With Lx_Precio
         .Name = Precio & Dt_Linea
         .Text = Dt_Precio
         .Location = New Point(20,80)
      End With
      With Lx_Total
         .Name = Total & Dt_Linea
         .Text = Dt_Total
         .Location = New Point(20,120)
      End With
    
      Me.Controls.Add(Lx_Producto)
      Me.Controls.Add(Lx_Cantidad)
      Me.Controls.Add(Lx_Precio)
      Me.Controls.Add(Lx_Total)
      Dt_Linea += 1
    Next

    La posicion dentro del formulario la dejo a tu pericia.

    Espero ayude.

    JOSE LUIS


    Dios NO los llamo LAS DIEZ RECOMENDACIONES

    martes, 28 de abril de 2015 22:12
  • Hola Jose Luis, lo primero agradecer tu respuesta, a ver si consigo explicarte la idea que tengo, lo primero comenarte que es un programa para una pizzeria, entonces he creado una serie de groupbox que contienen los productos a elegir, lo que necesito es que cuando pulse el boton de ticket, me genere el ticket con los productos elegidos, el precio, y el numero del turno de entrega, que es el que esta en el cuadro rojo y que una vez sacado el ticket suma +1 y los datos de la empresa que irian en la parte de arriba del ticket, he pensado tambien que seria interesante que todas esta ventas se grabarian en una base de datos para poder consultar al final del dia las ventas, muchas gracias de nuevo por tu ayuda.

    Miguel A.

    lunes, 4 de mayo de 2015 0:05