如何根据项目选择通过C#中的另一个组合框来操纵组合框

时间:2016-09-10 07:09:52

标签: c# sql-server winforms combobox

我的数据库中有两个表,他们是公司和代表,我的账单中有两个组合框,一个用于显示公司,另一个用于显示代表......

现在,当我在第一个组合框中选择一家公司时,代表的第二个组合框应该显示与所选公司相关的代表。 Company表具有主键compIdDelegate表具有外键compId ...

我试着像这样对它进行编码,但它并没有给我所需的结果,它只显示所有代表......任何帮助!

public PBillFrm()
{
    InitializeComponent();

    da = new SqlDataAdapter("select compId, compName from company", cn);
    da.Fill(dt);

    PBillCompNamecmbo.DataSource = dt;
    PBillCompNamecmbo.DisplayMember = "compName";
    PBillCompNamecmbo.ValueMember = "compId";

    da2 = new SqlDataAdapter("select delId,delName from delegate where compId=" + PBillCompNamecmbo.ValueMember + "", cn);
    da2.Fill(dt2);

    pBillDelNamecmbo.DataSource = dt2;
    pBillDelNamecmbo.DisplayMember = "delName";
    pBillDelNamecmbo.ValueMember = "delId";                     
}

1 个答案:

答案 0 :(得分:0)

提示1: 将PBillCompNamecmbo的AutoPostBack属性设置为“ TRUE

提示2: 将以下代码移至OnChangeFunction

PBillCompNamecmbo
da2 = new SqlDataAdapter("select delId,delName from delegate where compId=@Id", cn);
da2.Fill(dt2);
pBillDelNamecmbo.SelectCommand.Parameters.AddWithValue("@Id", Convert.ToInt32(PBillCompNamecmbo.ValueMember));
pBillDelNamecmbo.DataSource = dt2;
pBillDelNamecmbo.DisplayMember = "delName";
pBillDelNamecmbo.ValueMember = "delId";