2010-07-05 62 views
1

我在Windows窗体上有一个datagridview。它有clolumn [EmployeeNumber, EmployeeName and EmployeeDepartment]。Windows窗体中的组合框Datagridview控件

我希望能够直接在网格中编辑值,但是我希望EmployeeDepartment成为组合框列,例如在单元格编辑时,组合框将显示员工部门的可用选项。有没有人能够实现这样的功能?

回答

5

DataGridView实际上有一个DataGridViewComboBoxColumn。如果您转到专栏设计师,并添加一个新专栏,您会注意到您可以选择几种类型中的一种。它的行为与您所描述的完全相同 - 在编辑时会出现。 DataGridView使用称为编辑控件的东西,并且具有用于在编辑时将控件交换到单元格的各种事件。

无论采用哪种方式,如果您只想要一个下拉式选项,即可使用该选项。

要填写商品组合框,在列编辑器,你会发现,它有一个Items属性手动设置的项目,或者您可以使用数据绑定属性:DataSourceDisplayMemberValueMember。当预期值不在项目集合中时,数据绑定会产生问题,您将收到很多单元格错误;但他们可以避免。

一些有用的链接:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxcolumn.aspx

http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e8e2d9eb-fe39-42ab-9a18-2194dac54675/

+0

如果我设置columnType到组合框列,显示在组合框中只为部门的当前值,我怎么能显示出所有可能的选项。我有一个表格中的部门清单。 – Pafio 2010-07-05 08:13:15

+0

我编辑了我的答案。 – 2010-07-05 08:30:09

相关问题