2011-05-04 140 views
0

我是一個完整的C#新手&想要實現以下目標的最好方法。我有2個數據表C#/ Winforms,DataGridView/Combobox

 
Table 1 - Employees 
Emp Code.....Emp Name.....Manager Cd 
1............Bill Smith......A 
2............Mick Franks.....A 
3............Joyce Watson....B 

Table 2 - Managers 
Manager Cd......Manager Name 
A...............Simon Smith 
B...............Sue Payne 

經理代碼是在僱員表的外鍵我有一個顯示僱員表的數據網格,但是當用戶添加/編輯經理鎘我想顯示顯示組合框經理姓名,但將從列表中選擇時存儲經理Cd。

我敢肯定,這是相當直接的,但我已經花了大約3個小時在我/網上試圖找到一個解決方案,但他們都顯得非常複雜。

感謝您的幫助

回答

3

您可以定義的DataGridView作爲DataGridViewComboBoxColumn的列,這類型的列有一個屬性命名數據源,可以指向包含可能值列表中的數據表。

您可以在official MSDN documentation上找到此示例。

0

「正常」ComboBoxDisplayMemberValueMember屬性,您可以設置。在你的情況下,你希望將DisplayMember設置爲經理姓名,將ValueMember設置爲經理代碼。 (您還需要設置DataSource,如@Doliveras所示)

根據在線文檔(請參閱@Diveiveras的答案),這些應該也可以在DataGridViewComboBoxColumn上找到......但我從個人經驗中得知在.NET 2.0中不是這種情況。

0
   DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn(); 

       combo.Name = "......"; 
       combo.DataPropertyName = "....."; 
       DataTable dt = obj.SqlDataTable("your sql query") 



       foreach (DataRow row in dt.Rows) 
       { 
        combo.Items.Add(row["...."].ToString()); 
       } 

        dataGridView1.Columns.Add(combo); 

這將一個組合框添加到烏爾GridView和填充與從數據庫 您可以添加一個按鈕,從下拉/組合框選定的值更新到數據庫中的相應值。這只是給你一個快速入門的想法。希望這會有所幫助。