2010-05-03 65 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"; 
相关问题