Visual Studio winform Sommare le colonne di un Listview

sabato 24 gennaio 2009 - 22.50

Mau67 Profilo | Expert

Ciao a tutto il forum, ho il seguente problema, ho sempre usato DataGridView per inserire i dati dei miei progetti, adesso vorrei cambiare stile ed usare i ListView.

Vi descrivo il mio problema:

Per calcolare i totali delle colonne in un DataGridView uso il seguente codice

Private Sub Totali()
'Dichiaro le variabili di tipo double che memorizza il totale
Dim DblTotaleAnniNU As Double
Dim DblTotaleMesiNU As Double
Dim DblTotaleGiorniNU As Double


'Ciclo tutte le righe e sommo il valore della colonna Giorni non utili

For Each CurRow As DataGridViewRow In Me.ServiziDataGridView.Rows
If IsNumeric(CurRow.Cells("DataGridViewTextBoxColumn8").Value) Then
DblTotaleGiorniNU += CurRow.Cells("DataGridViewTextBoxColumn8").Value
End If
Next

' Visualizzo il risultato nella textbox
Me.TextBox1.Text = CInt((((DblTotaleGiorniNU) / 30) - Fix(((DblTotaleGiorniNU) / 30))) * 30)
End Sub

Adesso lo stesso risultato lo vorrei ottenere sommando le colonne in un listview come faccio mantenendo lo stesso metodo?

Grazie in anticipo
Mau67

alexmed Profilo | Guru

Ciao

Guarda se così funziona

Dim DblTotaleGiorniNU As Double

For i As Integer = 0 To Me.ListView1.Items.Count - 1
DblTotaleGiorniNU += (Me.ListView1.Items(i).SubItems(3).Text)
Next

MsgBox(DblTotaleGiorniNU)

Dove 3 in SubItems(3) è il numero della colonna che vuoi sommare.

Ciao
alexmed

Mau67 Profilo | Expert

Alex sei un mito funziona perfettamente sono in debito

Grazie Ciao

Mau67

alexmed Profilo | Guru



Adesso mi stacco che volevo installare WINDOWS 7

Ciao
alexmed

Mau67 Profilo | Expert

Alex Scusa ma ho esultato prima del tempo, il codice funziona se ci sono dei dati inseriti se invece ci sono dei campi nulli mi genera questo errore

Cast non valido dalla stringa "" al tipo 'Double'.

Come risolvo Grazie
Mau67

alexmed Profilo | Guru

Ciao
Non ho VB sotto mano perchè, come ti dicevo, ho installato WIN 7.
Comunque dovrebbe bastare mettere lo stesso controllo che usavi prima

For i As Integer = 0 To Me.ListView1.Items.Count - 1
If IsNumeric((Me.ListView1.Items(i).SubItems(3).Text)) Then
DblTotaleGiorniNU += (Me.ListView1.Items(i).SubItems(3).Text)
End if
Next

Ciao
alexmed

Mau67 Profilo | Expert

Ciao alex adesso posso veramente esultare e ringraziare infinitamente.

Ah dimenticavo ribadisco sei un mito

Ciao buona giornata
Mau67
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5