我在 Windows 窗体上有一个数据 GridView 。它有列 [EmployeeNumber、EmployeeName 和 EmployeeDepartment
]。
我希望能够直接在网格中编辑值,但我希望 EmployeeDepartment 成为一个组合框列,这样在单元格编辑时,一个组合框会显示员工部门的可用选项。有没有人能够实现这样的功能?
最佳答案
DataGridView
实际上有一个DataGridViewComboBoxColumn
。如果您转到列设计器并添加一个新列,您会注意到您可以选择几种类型之一。它的行为与您所描述的完全一样 - 在编辑时,它会出现。 DataGridView
使用称为编辑控件的东西,并具有用于将控件交换到编辑单元格中的各种事件。
无论哪种方式,如果您想要的只是一个下拉菜单,它是开箱即用的。
要用项目填充组合框,在列编辑器中,您会注意到它具有用于手动设置项目的 Items
属性,或者您可以使用数据绑定(bind)属性:DataSource
、DisplayMember
、ValueMember
。当期望值不在项目集合中时,数据绑定(bind)会出现问题,你会得到很多单元格错误;但它们是可以避免的。
一些有用的链接:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxcolumn.aspx
关于windows - Windows 窗体中的 ComboBox Datagridview 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3177717/