[英]Get The Total of Datagridview Row only in Specific Columns (Only with same Column Name)
如果這是來自數據庫查詢,您可以將數學作為查詢的一部分進行。 如果列是動態的,它們是如何被輸入到網格中的? 如果它是 DataTable,您可以循環遍歷行,以及嵌套循環的列,您只能匯總 column.columname 為“AMOUNT”的那些。
我懷疑它是一個 DataTable 因為你不能重用列名,無論如何這里有兩種方法我會遍歷列:
Dim dt As New DataTable
With dt
.Columns.Add("Amount", Type.GetType("System.Int32"))
.Columns.Add("Count", Type.GetType("System.Int32"))
.Columns.Add("Amount2", Type.GetType("System.Int32"))
.Columns.Add("Total Amount", Type.GetType("System.Int32"))
Dim r = .NewRow
r(0) = 25
r(1) = 50
r(2) = 75
r(3) = 0
.Rows.Add(r)
Dim r2 = .NewRow
r2(0) = 5
r2(1) = 10
r2(2) = 15
r2(3) = 0
.Rows.Add(r2)
End With
Dim dt2 As New DataTable
dt2 = dt.Copy
For i = 0 To dt.Rows.Count - 1
For j = 0 To dt.Columns.Count - 2
If dt.Columns(j).ColumnName.Contains("Amount") = True Then
dt.Rows(i)(3) = dt.Rows(i)(j) + dt.Rows(i)(3)
End If
Next
Next
GridView1.DataSource = dt
GridView1.DataBind()
For Each r As DataRow In dt2.Rows
For Each c As DataColumn In dt2.Columns
If c.ColumnName.Contains("Amount") = True AndAlso c.ColumnName.Contains("Total Amount") = False Then
r(3) = r(c.ColumnName) + r(3)
End If
Next
Next
GridView2.DataSource = dt2
GridView2.DataBind()
這是 output:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.