0

我在从名为“ds”的数据集内名为“dt”的表中的“MobileID”列中的每一行中提取值时遇到问题。

以下是数据集和数据表的创建方式。

        Public Function GetClientSpecificDevices(ByVal argHost As FOO.BAR.SHOO, ByVal currentClientIDSelection As Integer) As DataSet        
        Return argHost.GetDataSet("SELECT MobileID FROM mobiledevices WHERE ClientID = " & currentClientIDSelection & ";")

        'create dataset to handle tabular data
        Dim ds As New DataSet
        'Ensure every call refreshes dataset rather than appending
        'ds.Tables.Clear()
        Dim dt As New DataTable

        'add table and populate table with data
        ds.Tables.Add(dt)
        dt.Columns.Add("MobileID")
        'return dataset
        Return ds

对于 DataGrid

Function GenerateDataRows() As Object
    Dim row As New DataGridViewRow()
    Dim ds As DataSet = GetClientSpecificDevices(_objHost, CInt(comboBox_clients.ValueMember))
    If Not ds Is Nothing AndAlso ds.Tables(0).Rows.Count > 0 Then
        For Each A As DataRow In ds.Tables(0).Rows
            'populate rows
            Dim deviceID As New DataGridViewTextBoxCell
            Dim deviceName As New DataGridViewTextBoxCell
            Dim deviceModel As New DataGridViewTextBoxCell
            Dim devicePhoneNum As New DataGridViewTextBoxCell
        Next
    End If

    Return row
End Function

我正在寻找这样的东西

Dim deviceID As New DataGridViewTextBoxCell
deviceID.Value  = A.MobileID

但它不起作用。

4

1 回答 1

0

似乎您正在创建一个单独的 DataGridViewTextBoxCell 与您的 DataGridViewRow 不合作,您可以尝试以下代码

Function GenerateDataRows() As Object
    Dim row As New DataGridViewRow()
    Dim ds As DataSet = GetClientSpecificDevices(_objHost, CInt(comboBox_clients.ValueMember))
    If Not ds Is Nothing AndAlso ds.Tables(0).Rows.Count > 0 Then
        For Each A As DataRow In ds.Tables(0).Rows
            'populate rows
           row.cell(0).value = A.MobileID
        Next
    End If

    Return row
End Function
于 2012-04-19T01:51:51.607 回答