Principales respuestas
VB.NET 2019 - Subtotales en ListView

Pregunta
-
Estimados
Tengo este código para llenar un ListView y que además, los agrupa según la habitación. El problema que no he podido agregar la línea del subtotal, al momento de finalizar las filas del grupo:
For Each fila As DataRow In oDataBuscar.Rows() item = lvDetalle.Items.Add(fila("HABCOD")) item.Tag = fila oSub1 = oDataBuscar.Compute("Sum(VALOR)", "HAB = '" & fila("HAB").ToString & "'") If fila("HAB") <> grupoActual Then lvGroup = New ListViewGroup(fila("HABCOD") & Space(2) & fila("HAB")) grupoActual = fila("HAB") lvDetalle.Groups.Add(lvGroup) End If item.SubItems.Add(If(fila("FOLIO") = 0, "-", fila("FOLIO"))) item.SubItems.Add(If(fila("INGRESO") = "00:00", "-", fila("INGRESO"))) item.SubItems.Add(If(fila("SALIDA") = "00:00", "-", fila("SALIDA"))) item.SubItems.Add(If(fila("VALOR") = 0, "-", FormatNumber(CDbl(fila("VALOR")), 0))) item.Group = lvGroup Next item = lvDetalle.Items.Add("") item.ForeColor = Color.DarkBlue item.SubItems.Add("SUB-TOTAL") item.SubItems.Add("") item.SubItems.Add("") item.SubItems.Add(IIf(CDbl(oSub1) = 0, "-", FormatNumber(CDbl(oSub1), 0)))
jueves, 30 de marzo de 2023 0:34
Respuestas
-
Para resolverlo, tuve que comparar la venta total con la suma acumulada en el ciclo For y signar un IF para validar si total = suma then y agregar una línea manual al Listview.
Adjunto el código, por si alguien le sea de ayuda:
If oSub1 = Total Then item = lvFPago.Items.Add("TOTALES") item.ForeColor = Color.DarkBlue item.Font = New Font(item.Font, FontStyle.Regular) item.SubItems.Add(String.Empty) item.SubItems.Add("SUB-TOTAL") item.SubItems.Add(IIf(CInt(Total) = 0, "-", FormatNumber(CInt(Total), 0))) item.SubItems.Add(If(oPorc1 = 0, "-", item.Group = lvGroup Total = 0 End If
- Marcado como respuesta Marco Elgueta miércoles, 5 de abril de 2023 17:34
miércoles, 5 de abril de 2023 17:34
Todas las respuestas
-
Hola Marco Elgueta,
Gracias hacer la consulta en los foros de MSDN, en este momento vamos a investigar tu caso y tendremos noticias lo mas pronto posible.
Si hay alguna otra información adicional que guste adjuntar al problema nos lo puedes hacer saber.
Benjamin G,
Recuerde "marcar como respuesta" las respuestas que resolvieron su problema, es una forma común de reconocer a quienes ayudaron y facilita que otros visitantes encuentren la solución más adelante.
Si tiene algún cumplido o queja sobre el soporte técnico de MSDN, no dude en ponerse en contacto con MSDNFSF@microsoft.com
viernes, 31 de marzo de 2023 2:29Moderador -
Para resolverlo, tuve que comparar la venta total con la suma acumulada en el ciclo For y signar un IF para validar si total = suma then y agregar una línea manual al Listview.
Adjunto el código, por si alguien le sea de ayuda:
If oSub1 = Total Then item = lvFPago.Items.Add("TOTALES") item.ForeColor = Color.DarkBlue item.Font = New Font(item.Font, FontStyle.Regular) item.SubItems.Add(String.Empty) item.SubItems.Add("SUB-TOTAL") item.SubItems.Add(IIf(CInt(Total) = 0, "-", FormatNumber(CInt(Total), 0))) item.SubItems.Add(If(oPorc1 = 0, "-", item.Group = lvGroup Total = 0 End If
- Marcado como respuesta Marco Elgueta miércoles, 5 de abril de 2023 17:34
miércoles, 5 de abril de 2023 17:34