Visual Basic.NET - Restar valores desde listview actualizando textbox

   
Vista:
Imágen de perfil de Erick

Restar valores desde listview actualizando textbox

Publicado por Erick (8 intervenciones) el 15/08/2016 20:49:01
Hola.
Estoy haciendo un programa donde tengo un listview llamado list_PRODUCTOS con 2 columnas. En el se cargan el nombre del producto en la columna NOMBRE y su valor en la columna VALOR. A la vez, tengo un textbox llamado txtVALOR_TOTAL el cual va sumando automaticamente el valor de los productos que se van añadiendo. Todo va perfecto. El problema esta en que tengo un boton que elimina los productos que yo seleccione en el listview, pero no realiza correctamente la resta. Por logica, el total seria el valor del textbox txt_VALOR_TOTAL - el valor del item seleccionado, pero no encuentro el codigo para tomar dicho valor y restarlo al total.
El codigo que uso solo para eliminar los elementos en el boton eliminar es el siguiente.

1
2
3
4
5
Dim lista As ListViewItem = New ListViewItem()
 
For Each lista In list_PRODUCTOS.SelectedItems
   lista.Remove()
Next

No sé cómo tomar el VALOR del PRODUCTO seleccionado para restarlo al TOTAL cada vez que seleccione alguno.
Espero que alguien me pueda ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Restar valores desde listview actualizando textbox

Publicado por Diego (29 intervenciones) el 15/08/2016 23:17:48
Hola Erik, bueno por el codigo que escribiste supongo que permites el borrado de varios items a la vez, si es esa tu intención, te paso una pequeño agregado, antes de la intruccion .remove y fuera del bucle for-each declara una variable que acumule los valores, al finalizar el bucle restale al total el valor de esa variable, no te paso codigo porque no se como tenés enlazada la lista a los datos.

Te paso un pseudo:

1
2
3
4
5
6
definir variable
para cada x listviewitem en lista.listviewitems
          variable += x.valor
          x.remove
 
total -= variable

Saludos y +bytes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Erick

Restar valores desde listview actualizando textbox

Publicado por Erick (8 intervenciones) el 15/08/2016 23:39:39
Diego, muchas gracias por tu respuesta. No tenia pensado eso de la seleccion multiple, solo ir seleccionando de uno en uno.
He conseguido lograr hacer lo que queria. Al eliminar un elemento de la lista tambien se actualiza el valor total mostrado en el textbox.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub btnQUITAR_PRODUCTOS_MouseClick(sender As Object, e As MouseEventArgs) Handles btnQUITAR_PRODUCTOS.MouseClick
 
	Dim lista As ListViewItem = New ListViewItem()
	Dim total, i As Integer
 
	If list_PRODUCTO_AGREGADO.Items.Count = 0 Then
 
		MessageBox.Show("La lista se encuentra vacía.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
 
	Else
 
		For Each lista In list_PRODUCTO_AGREGADO.SelectedItems
			lista.Remove()
 
			For i = 0 To list_PRODUCTO_AGREGADO.Items.Count - 1
				total = total + list_PRODUCTO_AGREGADO.Items(i).SubItems(1).Text
			Next
			txtTOTAL_PRODUCTO.Text = total
 
		Next
	End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar