就像标题所说的那样,我正在尝试在数据网格视图中填充一个组合框列。
这是我到目前为止所拥有的:
Dim lc As System.Web.UI.WebControls.ListItemCollection = _
DataAccess.Part.GetListItems()
dgvcboPart.DataSource = lc
' This is a standalone combo box and it works ok
cboTest.DataSource = lc
关于我缺少什么的任何建议?
由于 Tony W
答案 0 :(得分:0)
dgvcboPart.DataSource = lc
dgvcboPart.DataBind()
必须调用数据绑定方法才能实现魔法!
答案 1 :(得分:0)
我首先建议您将Collection绑定到BindingSource,然后将BindingSource添加到DataGridView(以便知道位置)
但是绑定ComboBoxCell应该非常简单。
假设您有一个包含两列Id和Name的DataTable tblCurrency。 你必须将它绑定到你的列(我假设列0是你的DataGridViewColumn)
dgvcboPart.Columns(0).DataSource = tblCurrency
dgvcboPart.Columns(0).ValueMember = "Id"
dgvcboPart.Columns(0).DisplayMember = "Name"
然后,您可以将DataPropertyName设置为DataSource中的Property。
dgvcboPart.Columns(0).DataPropertyName = "Currency_Id"
要小心,tblCurrency.Id和Currency_Id必须是相同的类型(Int32和UInt32不起作用)如果Currency_Id的值不是tblCurrency,那么你得到一个带有完整StackTrace的讨厌的MessageBox(所以你应该处理DataError事件)