Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用多个筛选器计算数据表_Vb.net_Datatable - Fatal编程技术网

Vb.net 使用多个筛选器计算数据表

Vb.net 使用多个筛选器计算数据表,vb.net,datatable,Vb.net,Datatable,三列数据表(数量-SOP类型-项目编号) 我想计算编号为“309-032-SHU”且SOP_Type=3的项目的列数量之和 我尝试了这个代码,但没有成功 Dim b As String b = "309-032-SHU" dim c as integer c = 3 DGV1.Rows(0).Cells(0).Value = NAJRNDataSet.vwSalesLineItems.Compute("SUM(Quantity)", &qu

三列数据表(数量-SOP类型-项目编号) 我想计算编号为“309-032-SHU”且SOP_Type=3的项目的列数量之和 我尝试了这个代码,但没有成功

Dim b As String
b = "309-032-SHU"
dim c as integer
c = 3
       
DGV1.Rows(0).Cells(0).Value = NAJRNDataSet.vwSalesLineItems.Compute("SUM(Quantity)", "Item_Number = " & b & " ", "SOP_Type = " & c & " ")
        

因为DataTable类不实现IEnumerable,所以它提供了一个扩展方法来获取可枚举项。(
.AsEnumerable
)然后,我们可以使用linq语法来获取总和

Private Sub OpCode()
    Dim dt As New DataTable
    'Fill the datatable
    Dim b = "309-032-SHU"
    Dim c = 3
    Dim Total As Integer
    Total = (From r As DataRow In dt.AsEnumerable
             Where r.Field(Of String)("Item_Number") = b And r.Field(Of Integer)("SOP_Type") = c
             Select r.Field(Of Integer)("Quantity")).Sum
    DGV1.Rows(0).Cells(0).Value = Total
End Sub

过滤器只是一个布尔表达式。通常如何将多个布尔条件组合成一个复合语句?如果你不知道这一点,停止你正在做的事情,对布尔逻辑进行一些研究,因为如果你不理解这一点,就无法真正进行编程。事实上,该方法的文档甚至提供了一个例子。在未阅读相关文档之前,不要在此处提问。只需单击方法名称并按F1键。上下文相关帮助在Windows中已经存在了几十年,因此您并不需要编程经验。感谢您的建议,我将对布尔逻辑进行一些研究,如果您可以编辑我的代码,我将非常感谢,我需要你的建议,告诉我如何开始学习visual basic编程这里有一个教程,你可以从开始学习:这里也有:。祝你好运。我非常感谢你的帮助,当我使用这段代码时,它需要花费很多时间来运行,因为我有非常大的数据库,所以我需要一段不循环每一行的代码,例如我在问题中使用的“compute”方法,我希望你能帮助我,我非常需要这段代码来完成我的会计工作我们在谈论多少行?林克并不以速度著称。不管你用什么方法,必须检查每一行,这必须在一个对您可见的循环中或在.Compute.98000行中完成,并且每一行将循环11000次以查找项目rowi have datatable contain 98000行每一行都有数量列、sop_类型和项目编号,我have datagridview contain 11000行每一行都有列对于项目编号,我需要对datatable中每个项目的数量求和,并将总和复制到项目行中的datagridview