2017-05-26 80 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