我首先建议您将您的 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 中的属性。
dgvcboPart.Columns(0).DataPropertyName = "Currency_Id"
小心,tblCurrency.Id 和 Currency_Id 必须是相同的类型(Int32 和 UInt32 不起作用)如果 Currency_Id 的值不在 tblCurrency 中,你会得到一个带有完整 StackTrace 的讨厌的 MessageBox(所以你应该处理 DataError事件)