一个读取系表,一个读取班表
我要实现的是,选择不同的系,第二个下拉列表就显示相对应的班级选择。
问题是,无论我怎么选择系,得到的班级都是初始的(因为没有更新)。
我应该在哪里怎么去加读取班表的函数呢?或者说我应该怎样才能实现选择不同的系都会对这个选择产生相应动作呢?
ConnClass mycon = new ConnClass(); //实例化类
[CODE]绑定系
void BindSsmc()
{
string sqlstr = "select x_dm,x_mc from table1";
DataSet ds = null;
ds = mycon.myDataSet(sqlstr); //执行SQL语句并返回DataSet
this.ddp_ssmc.DataSource = ds; //给予数据源
this.ddp_ssmc.DataTextField = "x_mc"; //指定显示文本
this.ddp_ssmc.DataValueField = "x_dm"; //指定值文本
this.ddp_ssmc.DataBind(); //数据绑定
//*********添加自定義項选择Item*****************************
ListItem topItem = new ListItem("-------请选择宿舍-------", "0", true);
this.ddp_ssmc.Items.Add(topItem);
this.ddp_ssmc.SelectedIndex = this.ddp_ssmc.Items.Count - 1;
//***********************************************************
}[/CODE]
[CODE]当选择系时
protected void ddp_ssmc_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.ddp_ssmc.SelectedItem.Text.Trim() != "-------请选择宿舍-------")
{
this.Label_ssmc.Visible = false;
string sqlstr = "select bj from table2 where x_dm='" + this.ddp_ssmc.SelectedValue.Trim().ToString() + "'";
DataSet ds = null;
ds = mycon.myDataSet(sqlstr); //执行SQL语句并返回DataSet
if (ds.Tables[0].Rows.Count > 0)
{
this.ddp_qsh.DataSource = ds; //给予数据源
this.ddp_qsh.DataTextField = "bj"; //指定显示文本
this.ddp_qsh.DataValueField = "bj"; //指定值文本
this.ddp_qsh.DataBind(); //数据绑定
//*********添加自定義項选择Item*******************************
ListItem topItem = new ListItem("-------请选择寝室号-------", "0", true);
this.ddp_qsh.Items.Add(topItem);
this.ddp_qsh.SelectedIndex = this.ddp_qsh.Items.Count - 1;
//*************************************************************
}
else
{
this.Label2.Text = "<script language='javascript'>alert('该宿舍楼还未分配寝室号码~!');</script>";
this.ddp_qsh.Items.Clear();
return;
}
}
}[/CODE]
ConnClass 为类中返回DataSet的方法
........
........
太感谢了!斑竹你真好!