1

データセット内のすべての列を選択したい.データセットはデータベーステーブルから取得されます.

これが私のコードです:

  lstvCustomers.Items.Clear()
    Dim result = (From cust In dsCust.Tables(0).AsEnumerable).ToList
    'When i set where clause condition (Where cust.Field(Of String)("Ccd").Contains(txtCustID.Text))
    ' error occured in bellow line Error : The source contains not datarow
    Dim custTable As DataTable = result.CopyToDataTable
    lstvCustomers.Columns.Clear()
    For cls As Integer = 1 To custTable.Columns.Count - 1
        lstvCustomers.Columns.Add("COl - " & cls)
    Next

    Dim i As Integer = 0
    For Each row In custTable.Rows
        Dim lst As ListViewItem = lstvCustomers.Items.Add(row(0))
        For cls As Integer = 1 To custTable.Columns.Count - 1
            lst.SubItems.Add(row(cls))
        Next
        i = i + 1
    Next

出力
Col1 COl2 COl3 COL4 Col5 COl6 COL7
Cust101 Cust101 True Cust101 Cust101 Cust101 232323
Cust102 Cust102 True Cust102 Cust102 Cust102 234324

データセットからすべての列を選択したい。助けて。

4

3 に答える 3

1

試す:

    Dim qry = (From cust In custTable.AsEnumerable
                Where cust.Field(Of String)("Ccd").Contains(txtResults.Text)
                Select cust).ToList

これにより、条件に一致する各データ行が、必要に応じて各フィールドにアクセスできるデータ行のリストとして返されます。

行をリストビューに追加するには、これを試してください:

For Each row In qry
    lstvCustomers.Items.Add(row.Field(Of String)("Ccd")).SubItems.Add(row.Field(Of String)("Cnm"))
Next
于 2013-11-11T17:50:37.097 に答える