C# 如何根据从其他框中选择的文本更改动态创建的组合框的显示项
在Cwin表单上创建项目时,我遇到了一个问题,我必须在每次单击add按钮1时动态生成2个组合框,并将第二个组合框与第一个框的索引更改绑定在一起,从数据库SQL server检索数据。这是我的代码,请帮助C# 如何根据从其他框中选择的文本更改动态创建的组合框的显示项,c#,windows,forms,C#,Windows,Forms,在Cwin表单上创建项目时,我遇到了一个问题,我必须在每次单击add按钮1时动态生成2个组合框,并将第二个组合框与第一个框的索引更改绑定在一起,从数据库SQL server检索数据。这是我的代码,请帮助 int _i = 0;int p = 0; int x=2; int y=0; private void button1_Click(object sender, EventArgs e) { for (int i = p; i < x; i++)
int _i = 0;int p = 0; int x=2; int y=0;
private void button1_Click(object sender, EventArgs e)
{
for (int i = p; i < x; i++)
{ ComboBox C1 = new ComboBox();
con.Open();
SqlDataAdapter adp = new SqlDataAdapter("select * from company ",con);
DataSet ds = new DataSet();
adp.Fill(ds, "Company");
C1.DataSource = ds.Tables["Company"];
C1.DisplayMember = "Company_Name";
con.Close();
C1.Location = new Point(160 + x, 30 * p + 10); ;
C1.Name = "Combo - " + p;
C1.Parent = this;
p++;
}
x = x + 2;
y++;
}
如果其他人也面临同样的问题,请回答这个问题- 创建combobox时,将selectedIndexChanged事件处理程序与其连接-
private void button1_Click(object sender, EventArgs e)
{
ComboBox c1 = new ComboBox();
Point loc1 = new Point(50, 80);
Point loc2 = new Point(250, 80);
c1.Name = "combobox1";
c1.Items.Add("ABC");
c1.Items.Add("XYZ");
c1.Items.Add("PQR");
c1.SelectedIndexChanged += new EventHandler(combobox1__SelectedIndexChanged);
c1.Location = loc1;
ComboBox c2 = new ComboBox();
c2.Name = "combobox2";
c2.Location = loc2;
this.Controls.Add(c1);
this.Controls.Add(c2);
}
private void combobox1__SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox dummy = sender as ComboBox;
if(dummy.SelectedItem == "ABC")
((ComboBox)dummy.Parent.Controls["combobox2"]).Items.Add("Your Intended items");
}
你能详细说明一下如何将第二个组合框与第一个框的索引更改绑定在一起吗?您希望如何绑定它们?是的,当然,实际上我希望当我从第一个组合框中选择任何文本时,第二个组合框中的文本应相应地更改,如数据库中的combox 1中有xyz公司,并且它与支行abc相关,然后,,,当从第一个自动选择xyz时,第二个应该显示abc…我想通过数据库中的表绑定它们。您的代码不显示组合框的两个数据源之间的任何连接。我们必须知道连接,例如,第一个组合中的某个分支Id与第二个组合中的相同。是的,我知道,,刚才我只为两个comboboxex连接了一个数据源,因为我无法修复这样的逻辑,即当动态创建