2010-07-05 80 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