vb.net - 在 vb.net 中对 gridview 列进行排序和总结
问题描述
我只是想请求一些帮助,也许这里有人可以帮助我。我将直接进入我的查询。
所以我有一个显示column1
和column2
.
在 column1 中包含随机数,例如每行 1-100,
同样在仅包含 1 和 0 的 column2 中(如真或假)。
在gridview中看起来像这样,
column1 | column2 |
15 | 1 |
19 | 1 |
26 | 0 |
75 | 1 |
等等等等。我想要做的是获取 column2 的总值,它在 column1 中具有 15 到 19 的值(通过括号),并在 textbox1 中显示总值。
在此示例中,第 1 列的(15-19,括号中)在第 2 列中的总值为 2。我使用的支架示例是这样的(15-19、20-24、25-29,依此类推)。
Dim rows() As DataRow = datatable.Select("column1 = '15'")
Dim total As Double = 0
For i As Integer = 0 To GridView1.RowCount - 1
total += GridView1.GetRowCellValue(i, "column2")
Next
TextEdit1.Text = total
上面的代码最终将第 2 列的所有值相加。
提前致谢!
解决方案
您快到了-您的datatable.Select("column1 = '15'")
查询将仅返回值恰好是的行"15"
(仅返回字符串值或隐式转换为数字,我忘了,这是古老且过时的API btw)-但您的代码不使用rows
完全变数。
我认为这会起作用:
有关语法的参考,请参阅此页面DataTable.Select(String)
,因为它是独立于 VB.NET/C# 甚至 SQL 的自己的东西。
Dim rows() As DataRow = datatable.Select("column1 >= 15 AND colum1 <= 19")
Dim total As Double = 0
For Each row As DataRow in rows
total += CDbl( row("colum2") )
Next
TextEdit1.Text = total.ToString("N0")
推荐阅读
- python - 从网页中抓取表格数据
- arrays - 将结果从 cat 输出到具有指定到数组中的名称的不同文件中
- angular - Angular 8 在另一个函数中调用一个函数
- python - 为什么 numpy 向量化函数不适用于每个元素
- java - 从文本文件中读取二维数组
- reactjs - traefik v2 转发域请求到子路由
- c++ - 移动语义机制
- javascript - 如何将元素的背景设置为与网页的特定部分相同
- html - 有没有办法改变 Materializecss Select 中文本和箭头的颜色?
- javascript - Vuetify - 如何使 v-data-table 的标题动态化