2017-06-21 8 views
0

列内のすべての値の合計を計算し、label.contentに表示する方法。私は "Iznos" という名前の列の合計を計算したい列内の値の合計を計算する

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

を:アイテムを作成するための

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

クラス::

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 

は、データグリッドに項目を追加する列を作成

labelSum.contentに表示する

+0

「DataGrid」に項目を追加すると合計を計算できます。 –

答えて

0

私はあなたがたDataGridViewの行を反復し、テキスト変更イベントや他のイベントでそれをトリガーし、あなたが

0

を望んでいたところ、列がバインドされて割り当てることができます

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 

合計を計算できると思いますアイテムのプロパティ。プロパティを合計し、グリッド自体にフォーカスするのではなく、ビューにそのプロパティを公開します。

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

ここで残るのは、いつ計算をトリガーするかを決めることです。コレクションが変更されたときや、アイテムのいずれかの問題のプロパティが更新されたときに、聞いてみてください。

関連する問題