2017-05-26 32 views
0

我想知道如何设置datasourceComboBox以防我每次加载网格时从数据库加载数据。 这是我做的,现在(我硬编码的3个项目仅仅看到的是它的工作)如何从DataTable/TableAdapter设置ComboBox/RepositoryItemComboBox数据源?

Dim riCombo As RepositoryItemComboBox = New RepositoryItemComboBox 

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

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

我正在从throught DataTableAdapter,还有我写这些触发SQL查询的方法数据库中的数据。

德米特里建议后:

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() 

但是我正在这里的列,其中valuesin下拉菜单应该是下一个:

enter image description here

谢谢你们 干杯

回答

0

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

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属性。这样,您不需要手动填充项目。

+0

检查我的编辑请在你的建议后我编辑 –

+0

什么是GridView1.Columns(“CODE”)的数据类型?因为LookUpEdit对ValueMember使用Int32,所以使用LookUpEdit的GridColumn也应该绑定(GridColumn.FieldName)到Int32。 – Brendon