How to multiply all the values of a column?

假如想象 提交于 2020-01-06 23:43:20

问题


I've a DataGridView like this layout:

I would like to find a way to multiply all values of the column "Quota", in particular, I wrote a code like this:

    If MetroGrid1.Rows.Count > 0 Then
        If MetroGrid1.Columns.Contains("Quota") Then
            Dim CostTotal As Decimal = MetroGrid1.Rows.Cast(Of DataGridViewRow) _
                                       .Select(
                                        Function(x)
                                            Return CDec(x.Cells("Quota").Value)
                                        End Function
            ).Sum
            Dim risultato = CostTotal * giocata

The problem is that the only mode available is the sum and average, but there is no multiplication. I would like to find a way to replace .Sum with some command that allows me to multiply or totally change the algorithm if necessary.


回答1:


To multiply every cell as you go through the grid you can loop through multiplying the values and adding it to a variable... First we'll make sure there is a value and if so lets try and cast that value as a double. If so multiply the old values with the new one and so on...

 Dim dblTotal As Double = 0
 Dim dblValue As Double = 0


 For i As Integer = 0 To MetroGrid1.Rows.Count - 1
    If MetroGrid1.Rows(i).Cells("Quota").Value IsNot DBNull.Value Then
     If Double.TryParse(MetroGrid1.Rows(i).Cells("Quota").Value.ToString, dblValue) Then
      dblTotal *= dblValue
     End If
    End If

 Next


来源:https://stackoverflow.com/questions/27213970/how-to-multiply-all-the-values-of-a-column

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!