Tengo un winform(nueva_factura.vb) en ella se encuentran los datos del cliente, y ademas un ListView que contendra los productos con sus respectivo precio y cantidad.
Para agregar una nueva linea de producto presiono el boton "Nueva Linea" y se abre otro winform(nueva_linea_producto.vb) este tiene un boton para agregar un producto a traves de otro winform, una vez seleccionado se cargaran los datos del producto en nueva_linea_producto.vb y luego ingreso la cantidad y el precio asociado al producto. Y ademas el nueva_linea_producto.vb tiene un boton guardar.
La idea es que al apretar se ingrese automaticamente el producto con sus datos respectivos al Listview. pero que nueva_linea_producto.vb no se cierre inmediatamente, sino que permita ingresar otros productos.
Por lo tanto para este caso no me funciona lo que me mencionas, por que al intentar llamar a AgregarItem(...) despues del showdialog() y que esto funcione, tendria que cerrar nueva_linea_producto.vb al apretar el boton agregar.
Espero me puedan ayudar con esto, Muchas Gracias.
Codigo: nueva_factura.vb
Código vb.net:
Ver original
Public Sub AgregarItem(ByVal id As String, ByVal cod As String, ByVal nombre As String, ByVal cantidad As String, ByVal precio As String, ByVal total As String, ByVal obs As String) Dim item As ListViewItem item = New ListViewItem(id) item.SubItems.Add(cod) item.SubItems.Add(nombre) item.SubItems.Add(cantidad) item.SubItems.Add(precio) item.SubItems.Add(total) item.SubItems.Add(obs) ListView1.Items.Add(item) modificar.Show() eliminar.Show() LblNeto.Text = CalculaNeto() LblNeto.Show() LblIva.Text = CalculaIva() LblIva.Show() LblTotal.Text = CalculaTotal() LblTotal.Show() End Sub
Codigo: nueva_linea_producto.vb
Código vb.net:
Ver original
Private Sub guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles guardar.Click If String.IsNullOrEmpty(txId.Text) Then ep.SetError(txId, "Ingrese un Producto") Exit Sub End If If String.IsNullOrEmpty(txPrecio.Text) Then ep.SetError(txPrecio, "Ingrese un Precio") 'Exit Sub If String.IsNullOrEmpty(txCantidad.Text) Then ep.SetError(txCantidad, "Ingrese una Cantidad") Exit Sub End If End If ep.Clear() If String.IsNullOrEmpty(txCantidad.Text) Then ep.SetError(txCantidad, "Ingrese una Cantidad") 'Exit Sub If String.IsNullOrEmpty(txPrecio.Text) Then ep.SetError(txPrecio, "Ingrese un Precio") Exit Sub End If End If Dim fila As Integer For fila = 0 To My.Forms.nueva_factura.ListView1.Items.Count - 1 Dim codProd As String = My.Forms.nueva_factura.ListView1.Items(fila).SubItems(0).Text If txId.Text = codProd Then MessageBox.Show("Este Producto, Ya se Encuentra en la Linea de Detalle", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Exit Sub Next ep.Clear() 'AQUI ANTES LLAMABA A LA FUNCION AgregarItem(...) Call LimpiarTextBox(Me) End If End Sub