我有一个包含客户端列表的数据表,然后将其分配给组合框的数据源。
然后我有另一个包含客户端站点列表的数据表,当组合框被更改时,它应该在站点数据表上执行选择,并仅返回匹配并填充站点组合框的行。
问题是它返回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;
}
}
答案 0 :(得分:1)
这样做
cboxClientSite.DataSource = parentfrm._ClientsSites.Select(@"client_id = " + cboxClientName.SelectedValue).CopyToDataTable();