【问题标题】:vb.net how to get a value with specific conditionvb.net如何获得具有特定条件的值
【发布时间】:2016-09-30 07:02:04
【问题描述】:

提前致谢。查了,还是不知道怎么写。

[前提] 我得到了一个表的DataView,并对其进行过滤和排序。

[表格] 【过滤后的表格是这样的:↓】

我想得到不同条件下的名字。 我是这样写的,但似乎不正确。

If dv_Table1.Select("Code1 = '11'").Rows.Count > 0 Then
   drwWork.Item("Name") = dv_Table1.Item(0).Item("Name")

ElseIf dv_Table1.Select("Code1 = 12").Rows.Count > 0 Then
   drwWork.Item("Name") = dv_Table1.Item(0).Item("Name")
      If dv_Table1.Item(0).Item("Code2") = 1 Then
         drwWork.Item("Code") = Asterisk
      Else
      End If
Else
End If

我的主要目标是根据不同的代码1获得不同的名称。 我也按顺序对表格进行了排序。 当[code1=12,例如]的记录数大于2时, 我想按 ASC 顺序获取这两个名称。

[ Item(0).Item("Name") ] 部分可能不正确 我想知道正确的编码。

谢谢!

【问题讨论】:

    标签: vb.net if-statement conditional-statements dataview


    【解决方案1】:

    我现在无法重现它,但是:

    循环每一行并将名称添加到列表中:

    Dim view = New DataView()
    Dim list11 As New List(Of String)
    Dim list12 As New List(Of String) ' You could make an array of List too
    
    For Each row As DataRowView In view
        If row.Item("Code1").Equals(11) Then ' "11" If it's a string
            list11.Add(row.Item("Name"))
        ElseIf row.Item("Code1").Equals(12) Then ' "12" If it's a string
            list12.Add(row.Item("Name"))
        End If
    Next
    

    【讨论】:

    • 非常感谢!我有不同的想法~~~我会参考一下
    【解决方案2】:

    你可以像这样使用 Linq to Datatable:

    Dim dt As DataTable = DirectCast(dv_Table1.DataSource, DataTable)
    
        Dim results1 = From myRow In dt.AsEnumerable() Where myRow.Field(Of [String])("Code1").Equals(11) Or myRow.Field(Of [String])("Code1").Equals(12)
        Dim dt1 As DataTable = results1.CopyToDataTable()
    
        For Each dw As DataRow In dt1.Rows
            drwWork.Item("Name") = dw.Item("Name")
            If dw.Item("Code2") = 1 Then
                drwWork.Item("Code") = Asterisk
                TableName.Rows.Add(drwWork)   'drwWork is a new row of an other datatable "TableName" for exemple
        Next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多