【问题标题】:How to set ComboBox/RepositoryItemComboBox datasource from a DataTable/TableAdapter?如何从 DataTable/TableAdapter 设置 ComboBox/RepositoryItemComboBox 数据源?
【发布时间】:2017-10-26 23:57:44
【问题描述】:

我想知道如何将datasource 设置为ComboBox,以防我每次加载网格时都想从数据库加载数据。 这就是我现在所做的(我硬编码了 3 个项目只是为了看看它是否有效)

 Dim riCombo As RepositoryItemComboBox = New RepositoryItemComboBox

 riCombo.Items.AddRange(New String() {"London", "Berlin", "Paris"})

 gridArticles.RepositoryItems.Add(riCombo)
 colArticles.ColumnEdit = riCombo

我正在通过 DataTableAdapter 从数据库中获取数据,我正在编写触发 sql 查询的方法。

DIMITRY 建议后:

 Dim riLookup As New RepositoryItemLookUpEdit()
        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
        GridView1.BestFitColumns()

但是我在这里得到的应该是下拉列表中的值的列:

谢谢大家 干杯

【问题讨论】:

    标签: vb.net winforms combobox grid devexpress


    【解决方案1】:

    要填充 ComboBoxEdit 编辑器的项目,您可以将数据库中的数据加载到列表中,然后遍历列表中的所有项目并将它们添加到 Items 集合中。例如:

    For Each row As DataRow In dataTable
            Dim cellData As String = DirectCast(row(columnName), String)  
            riCombo.Items.Add(cellData)
    Next
    

    此外,您可以使用可用的Lookup Editors 之一。这些编辑器提供 DataSource 属性,允许您将数据从数据库加载到列表中,然后将此列表分配给 DataSource 属性。完成后,只需设置 KeyMemberValueMember 属性。这样,您无需手动填写项目。

    【讨论】:

    • 请检查我的编辑,根据您的建议我进行了编辑
    • GridView1.Columns("CODE")的数据类型是什么?因为 LookUpEdit 使用 Int32 作为 ValueMember,所以使用 LookUpEdit 的 GridColumn 也应该绑定 (GridColumn.FieldName) 到 Int32。
    猜你喜欢
    • 2016-03-31
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 2014-06-16
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    相关资源
    最近更新 更多