Multiplicar columnas de listview

Quiero multiplicar el valor de dos columnas de un LVW y mostrarlo en un textbox... Hago así pero no lo hace bien...
------------------------------------------
private sub cmdagregar_click()
 dim total as double
With LVW2.ListItems.Add
  .Text = LVW1.SelectedItem.Text
  .SubItems(1) = LVW1.SelectedItem.SubItems(1)
  .SubItems(2) = cant
  .SubItems(3) = LVW1.SelectedItem.SubItems(2)
End With
total = Val(LVW2.SelectedItem.SubItems(2)) *  Val (LVW2.SelectedItem.SubItems(3))
txtTotal.Text = total + Val(txtTotal.Text)
end sub
-------------------------------------------------------
Tengo que multiplicar las columns precio * cantidad de todo el LVW y mostrarlo en un textbox.     me debe faltar un for...como seria?

1 Respuesta

Respuesta
1
Acá el código para lo que quieres:
Dim cant As Integer
Dim i As Long
Dim SumaC As Double ' Para guardar la suma de las cantidades.
Dim SumaP As Double ' Para guardar las sumas de los precios.
SumaC = 0
SumaP = 0
If LVW1.SelectedItem <> 0 Then
    cant = InputBox("ingrese la cantidad que desea: ")
    With LVW2.ListItems.Add
        .Text = LVW1.SelectedItem.Text
        .SubItems(1) = LVW1.SelectedItem.SubItems(1)
        .SubItems(2) = cant
        .SubItems(3) = LVW1.SelectedItem.SubItems(2)
    End With
    For i = 1 To LVW2.ListItems.Count
      SumaC = CDbl(LVW2.ListItems(i).SubItems(2)) + CDbl(SumaC)
      SumaP = CDbl(LVW2.ListItems(i).SubItems(3)) + CDbl(SumaP)
    Next
    txtTotal.Text = CDbl(SumaC) * CDbl(SumaP)
End If
Ahora una consulta o una idea por que no le agregas otro subitems al LVW2 para que tengamos los siguientes campos:
idPrestacion | descripcion | cantidad | Precio | Total -- Total seria el nuevo campo.
Te explico un poco para que entiendas de que se trata la idea, el campo precio es el que guardara (como ha sido hasta el momento) el precio con su valor unitario y el campo Total guardaría el valor total que da el precio unitario por la cantidad y después lo único que se debería hacer es sumar el campo total para que nos de el valor final.
Si te parece que es una buena idea me dices y la realizamos.
Bye.
Es una excelente solución..! Esta clarísimo.. esta bueno lo que me decís de agregar una columna al LVW y que tenga el total, pero es un ejercicio de examen que hago como practica... el total de todo eso lo debo mostrar en 1 textbox y no se puede modificar la funcionalidad del form ni cambiar ni agregar controles. Así es que te agradezco mucho tu tiempo y sos excelente en tus respuestas. Te felicito.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas