1

我正在使用 LINQ (vb.net) 编写代码来查找数据表中每一列的最大值。我的数据如下所示:

+------------+----------+---------+--------- -+
| 日期 | 价值1 | 价值2 | 价值3 |
+-----------+---------+----------+---------+
| 2013 年 1 月 1 日 | 12 | 13 | 19 |
| 2013 年 1 月 2 日 | 9 | 20 | 17 |
| 2013 年 1 月 3 日 | 17 | 5 | 10 |
+-----------+---------+----------+---------+

我想编写一个代码来从所有数据行的每列中返回具有最大值的单个数据记录,以便我可以将结果与 gridview 绑定:

+----------+----------+----------+
| 最大1 | 最大2 | 最大3 |
+----------+----------+----------+
| 17 | 20 | 19 |
+----------+----------+----------+

4

1 回答 1

2

您可以使用Max

Dim rows = table.AsEnumerable()
Dim Max1 = rows.Max(Function(r) r.Field(Of Int32)("Value1"))
Dim Max2 = rows.Max(Function(r) r.Field(Of Int32)("Value2"))
Dim Max3 = rows.Max(Function(r) r.Field(Of Int32)("Value3"))

如果这些字段实际上是字符串(它们不应该),则必须使用Int32.Parse.

如果您需要这些值作为 的数据源GridView,您可以使用DataTable一行:

Dim tblSource = New DataTable()
tblSource.Columns.Add("Max1", GetType(Int32))
tblSource.Columns.Add("Max2", GetType(Int32))
tblSource.Columns.Add("Max3", GetType(Int32))
tblSource.Rows.Add(Max1, Max2, Max3)
于 2013-04-16T15:24:18.650 回答