2017-06-21 6 views
0

So berechnen Sie die Summe aller Werte in einer Spalte und zeigen sie in einem label.content an.Berechnen Sie die Summe der Werte in der Spalte

Erstellen einer Spalte:

Dim c7 As New DataGridTextColumn() 
    c7.Header = "Iznos" 
    c7.Width = 100 
    c7.Binding = New Binding("Iznos") 
    gridRacun.Columns.Add(c7) 

Klasse für die Erstellung von Artikel:

Class Item 
Private _Cijena As String 
Private _Rabat As String 
Private _PC As String 
Private _Iznos As String 



Property Kolicina() As Integer 
    Get 
     Return _Kolicina 
    End Get 
    Set(ByVal value As Integer) 
     Me._Kolicina = value 
    End Set 
End Property 
Property Cijena() As Decimal 
    Get 
     Return _Cijena 
    End Get 
    Set(ByVal value As Decimal) 
     Me._Cijena = value 
    End Set 
End Property 

Property Iznos() As Decimal 
    Get 
     Return _Iznos 
    End Get 
    Set(ByVal value As Decimal) 
     Me._Iznos = Me._Kolicina * Me.Cijena 
    End Set 
End Property 
End Class 

Artikel zum Datagrid hinzu:

 Dim item = New Item With {.Cijena = Globals.cijenaTempG, .Rabat = Globals.rabatG, .PC = 1.0, .Iznos = 1.0} 
    gridRacun.Items.Add(item) 

Ich möchte SUM der Spalte berechnen Namen "Iznos" und es in labelSum.content anzeigen

+0

Sie können die Summe berechnen, wenn Sie die Elemente zum 'DataGrid' hinzufügen. –

Antwort

0

Ich glaube, Sie über die Zeilen des Datagridview laufen könnte und berechnen Sie die Summe

dim sum = 0 
for each row as datagridviewrow in gricRacun.rows 
dim cellValue as double 
if not double.tryparse(row.cells(c7.index).value,cellValue) then cellValue = 0 
sum += cellValue 
next row 

Sie es in Text Änderungsereignis und ein anderes Ereignis auslösen könnte und zuordnen, wo Sie

0

Die Säule an eine gebundene wollte Eigentum der Gegenstände. Summieren Sie die Eigenschaften und legen Sie diese der Ansicht offen, anstatt sich auf das Raster selbst zu konzentrieren.

' Calculate the sum (using Linq). 
Dim sum = gridRacun.Items.OfType(Of Item)().Sum(Function(item) item.Iznos) 
' Update the label. 
labelSum.Content = sum 

Jetzt müssen Sie nur noch herausfinden, wann die Berechnung ausgelöst werden soll. Versuchen Sie, zuzuhören, wenn sich die Sammlung ändert oder wenn die betreffende Eigenschaft eines Elements aktualisiert wird.

Verwandte Themen