我在下拉列表中看不到值

时间:2017-05-26 12:23:15

标签: vb.net winforms datatable devexpress

我正在使用DataSet / DataTable适配器从我的数据库中检索数据。

现在我需要一个供应商列表来我的下拉列表但不幸的是它一直是空的,即使我发现断点有一些结果。

这是我的代码:

Dim riLookup As New RepositoryItemLookUpEdit()
 riLookup.NullText = String.Empty

 riLookup.DataSource = DataTableDobTableAdapter.FillDob(Me.DsOrders.DataTableDob)
 riLookup.ValueMember = "ID"
 riLookup.DisplayMember = "TITLE"
 riLookup.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup
 GridView1.Columns("Code").ColumnEdit = riLookup

我在调试时看到的内容:

enter image description here

首先我不知道为什么整数写在那里, 当我继续调试和运行应用程序时,有空值:

enter image description here

修改 enter image description here

我之前从未使用过v.b和devexpress controles,所以这一切对我来说都很混乱..

@ ED当我右键单击我的方法并选择" Go To Definition"我看到了这个:

Public Overloads Overridable Function FillDob(ByVal dataTable As dsOrders.DataTableDobDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.ClearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function

我可以看到那里As Integer但是为什么如果我能在数据预览中看到我的数据库中的真实列,而且它们都不是Integer ..我真的很困惑:/

1 个答案:

答案 0 :(得分:2)

适配器上的fill方法填充DataTable并返回它填充DataTable的行数。它就在您向我展示填充方法的代码中:

        Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
        Return returnValue

Me.Adapter.Fill(dataTable)。然后DataTable中有行。

行位于DataTable中。使用DataTable作为数据源。

Dim riLookup As New RepositoryItemLookUpEdit()
    riLookup.NullText = String.Empty

    DataTableDobTableAdapter.FillDob(Me.DsOrders.DataTableDob)

    riLookup.DataSource = Me.DsOrders.DataTableDob

    riLookup.ValueMember = "ID"
    riLookup.DisplayMember = "TITLE"
    riLookup.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup
    GridView1.Columns("Code").ColumnEdit = riLookup