使用datatableselect查询填充组合框

本文关键字:组合 填充 查询 datatableselect 使用 | 更新日期: 2023-09-27 18:26:31

我有一个包含客户端列表的数据表,然后将其分配给组合框的数据源。

然后,我有另一个数据表,它包含客户端站点列表,当组合框更改时,它应该对站点数据表执行选择,并只返回匹配并填充站点组合框的行。

问题是它返回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;
    }
}

使用datatableselect查询填充组合框

这样做

cboxClientSite.DataSource = parentfrm._ClientsSites.Select(@"client_id = " + cboxClientName.SelectedValue).CopyToDataTable();