2010-05-03 57 views
0

我在例如一個數據集的兩個數據表可以說填充與一個數據TABEL組合框,並保存選擇在另一個

Servers: 
| Server | Ip | 

Users: 
| Username | Password | Server | 

,並有指向服務器上的用戶的外鍵。

如何製作列出所有服務器的組合框。那麼如何讓該組合框中選定的服務器保存在用戶表的服務器列中的數據集中。

編輯 - 我還沒有測試過,但這是正確的方式嗎?

this.bsServers.DataMember = "Servers"; 
this.bsServers.DataSource = this.dataSet; 
this.bsUsers.DataMember = "FK_Users_Servers"; 
this.bsUsers.DataSource = this.bsServers; 
this.serverComboBox.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bsUsers, "Server", true)); 
this.serverComboBox.DataSource = this.bsServers; 
this.serverComboBox.DisplayMember = "Server"; 
this.serverComboBox.ValueMember = "Server"; 

回答

0

我不這麼認爲。您需要填充您的bsUsers,並指定您希望如何從此列表中選擇用戶(另一個組合框?)。

bsServers.DataMember = "Servers"; 
bsServers.DataSource = new[] 
    { 
     new Servers {Server = "1", Ip = "1.1.1.1"}, 
     new Servers {Server = "2", Ip = "2.2.2.2"}, 
     new Servers {Server = "3", Ip = "3.3.3.3"}, 
     new Servers {Server = "4", Ip = "4.4.4.4"} 
    }; 
bsUsers.DataSource = new[] 
    { 
     new Users {Server = "1", Username = "aaa", Password="kjkhkhk"}, 
     new Users {Server = "1", Username = "bbb", Password="3534564"}, 
     new Users {Server = "3", Username = "ccc", Password="egrhtyj"}, 
     new Users {Server = "2", Username = "ddd", Password="6576878"} 
    }; 
serverComboBox.DataBindings.Add("SelectedValue", bsUsers, "Server", true); 
serverComboBox.DataSource = bsServers; 
serverComboBox.DisplayMember = "Server"; 
相關問題