使用亚音速和&填充datagridview组合框列。 vb.net

时间:2009-05-14 19:09:33

标签: datagridview subsonic datagridviewcombobox

就像标题所说的那样,我正在尝试在数据网格视图中填充一个组合框列。

这是我到目前为止所拥有的:

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

2 个答案:

答案 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事件)