Windows中的ComboBox形成Datagridview控件

时间:2010-07-05 07:20:21

标签: windows winforms datagridview combobox

我在Windows窗体上有一个datagridview。它有clolumn [EmployeeNumber, EmployeeName and EmployeeDepartment]。

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

1 个答案:

答案 0 :(得分:5)

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

无论哪种方式,如果你想要的只是一个下拉菜单,那就是开箱即用的。

要使用项目填充组合框,在列编辑器中您会注意到它具有用于手动设置项目的Items属性,或者您可以使用数据绑定属性:DataSource,{{ 1}},DisplayMember。当项目集合中没有预期值时,数据绑定会出现问题,您将遇到很多单元错误;但是可以避免它们。

一些有用的链接:

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/