级联组合框
Cascading combo box
我正在尝试绑定 2 个组合框,作为第二个依赖于 de first 的值。
我看到这个问题的所有解决方案都是通过使用 Sql.Data(数据表),由于应用程序的架构,我无法使用它。
我可以通过 2 种方式完成,通过 C# 或通过 ASP 对象数据源。
我已经成功地尝试了这种方法。可以这样做吗?
if (!Page.IsPostBack)
{
recursohumano rh = new RecursoHumano();
rdpUnidade.DataValueField= "ID"
rdpUnidade.DataTextField= "NomeUnidade"
rdpUnidade.DataSource= new BLLUnidade().GetAll();
rdpUnidade.DataBind();
rdpInvestigador.DataValueField= "ID"
rdpInvestigador.DataTextField= "Nome"
rdpInvestigador.DataSource= new BLLRecursoHumano().GetAll();
rdpInvestigador.DataBind();
rdpInvestigador.Items.Insert(0, new RadComboBoxItem("", ""));
//rdp investigador should depend on rdpUnidade
private void rdpUnidade_SelectedIndexChanged(object sender, EventArgs e)
{
recursohumano rh = new RecursoHumano();
var InvUnidade = from recursohumano in rh.recursohumano where recursohumano.id == Convert.ToInt32(rdpUnidade.SelectedValue) select recursohumano;
rdpInvestigador.DataValueField= "ID";
rdpInvestigador.DataTextField= "Nome";
rdpInvestigador.DataSource = new BLLRecursoHumano().GetAll()
}
最初的方法是正确的,但我缺少列出所需值的查询:
var res = RecHumano.GetAll().Where(x => x.IDUnidade == id).ToList()
我正在尝试绑定 2 个组合框,作为第二个依赖于 de first 的值。
我看到这个问题的所有解决方案都是通过使用 Sql.Data(数据表),由于应用程序的架构,我无法使用它。
我可以通过 2 种方式完成,通过 C# 或通过 ASP 对象数据源。 我已经成功地尝试了这种方法。可以这样做吗?
if (!Page.IsPostBack)
{
recursohumano rh = new RecursoHumano();
rdpUnidade.DataValueField= "ID"
rdpUnidade.DataTextField= "NomeUnidade"
rdpUnidade.DataSource= new BLLUnidade().GetAll();
rdpUnidade.DataBind();
rdpInvestigador.DataValueField= "ID"
rdpInvestigador.DataTextField= "Nome"
rdpInvestigador.DataSource= new BLLRecursoHumano().GetAll();
rdpInvestigador.DataBind();
rdpInvestigador.Items.Insert(0, new RadComboBoxItem("", ""));
//rdp investigador should depend on rdpUnidade
private void rdpUnidade_SelectedIndexChanged(object sender, EventArgs e)
{
recursohumano rh = new RecursoHumano();
var InvUnidade = from recursohumano in rh.recursohumano where recursohumano.id == Convert.ToInt32(rdpUnidade.SelectedValue) select recursohumano;
rdpInvestigador.DataValueField= "ID";
rdpInvestigador.DataTextField= "Nome";
rdpInvestigador.DataSource = new BLLRecursoHumano().GetAll()
}
最初的方法是正确的,但我缺少列出所需值的查询:
var res = RecHumano.GetAll().Where(x => x.IDUnidade == id).ToList()