C#DataGridViewComboBoxColumn绑定问题

嘿大家!我想这是我在*.com上的第一篇文章:-)

我一直有这个问题.
为了简单起见,假设我们有2个名为“books”和“categories”的数据库表,其中包含以下模式:

books(id, title, catId)
categories(id, catName)

显然,“books”表中的“catId”字段是外键,并指定书所属的类别.

我已经创建了必要的LinQ to Sql类并创建了必要的bindingSource对象.
我想要做的是显示DataGridView对象中的所有书籍.我希望它有一个名为“Category”的列,其类型为DataGridViewComboBoxColumn,包含所有现有类别,并且每本书都显示特定书所属的类别.用户可以通过在组合框中选择另一个类别来重新分配图书的类别.

我已经设法完成了我想要的ComboBox,它可以按我的意愿工作.
但是当谈到DataGridView时,我无法理解它.

任何帮助将不胜感激
我花了几天时间想出办法但到目前为止没有运气:-(

解决方法:

这应该工作:

// create the column (probably better done by the designer)
DataGridViewComboBoxColumn categoryColumn = ...


// bind it
categoryColumn.DataSource = db.Categories.ToList();
categoryColumn.DisplayMember = "catName";  // display category.catName
categoryColumn.ValueMember = "id";         // use category.id as the identifier
categoryColumn.DataPropertyName = "catId"; // bind the column to book.catId
上一篇:c# – 如何将DataGridViewComboBoxCell转换为DataGridViewTextBoxCell


下一篇:笔记:四旋翼无人机从0到1的实现,目录链接