-1

クライアントのリストを含むデータテーブルがあり、これはコンボボックスのデータソースに割り当てられます。

次に、クライアント サイトのリストを含む別のデータ テーブルを用意します。コンボ ボックスが変更されると、サイトのデータ テーブルで選択を実行し、サイトのコンボ ボックスに一致して入力する行のみを返す必要があります。

問題は、サイト名列に含まれるデータの代わりに System.Data.DataRow を返すことです!

public frmTechSupportCall()
{
    cboxClientName.DataSource = parentfrm._ClientsList;
    cboxClientName.DisplayMember = "companyname";
    cboxClientName.ValueMember = "client_id";
    cboxClientName.SelectedIndex = 1;
    cboxClientName.Refresh();
}
private void cboxClientName_SelectedIndexChanged(object sender, EventArgs e)
{
    //var temp = cboxClientName.SelectedValue;            

    if (cboxClientName.SelectedValue.GetType().ToString() == "System.Int32")
    {
        //DataRow[] dr = parentfrm._ClientsSites.Select(@"client_id = " + cboxClientName.SelectedValue);                
        cboxClientSite.DisplayMember = "sitename";
        cboxClientSite.ValueMember = "site_id";
        cboxClientSite.DataSource = parentfrm._ClientsSites.Select(@"client_id = " + cboxClientName.SelectedValue);
        //cboxClientSite.BindingContext = this.BindingContext;
        //_ClientsList.Rows.InsertAt(drow, 0);
        //cboxClientSite.Items.Add(new object[] { 0, "--Please Select --" });
        //cboxClientSite.SelectedIndex = 0;
    }
}
4

1 に答える 1

1

このようにしてください

cboxClientSite.DataSource = parentfrm._ClientsSites.Select(@"client_id = " + cboxClientName.SelectedValue).CopyToDataTable();
于 2013-08-05T12:28:45.707 に答える