高分求助!急~~~~~~~下拉框之间的连动问题
C#Winform中,有三个下拉框,分别连接2个参数表(内容可在设置参数的界面上改变),名为"话亭样式","故障类型"和"故障部位",表结构是:话亭样式(yangshi),故障类型(id,type,buwei,yangshi),要实现的功能是:话亭样式选中一个,对应的故障类型就能连动地显示出来,是1对多的关系;接着故障类型选中一个,对应的故障部位也能连动地显示出来,也是1对多的关系.
目前单单看连动的话,没有问题,但是在保存了一条记录后,"故障类型"和"故障部位"下拉框就为空了,并不能显示保存的值,而其他的一些控件都能显示保存过的该条记录的值.我认为是写的有问题,故把函数贴出来,请大家看看.
//-------------------为“故障类型”下拉框设置下拉数据----------------
private void InputGuZhangType()
{
if(this.ultraComboEditor2.Text.Trim()=="敞单"||this.ultraComboEditor2.Text.Trim()=="敞双")
{
this.strSQL ="select distinct type from 故障类型 where yangshi='敞开'";
da4=new SqlDataAdapter (this.strSQL,this.tempConnection);
da4.Fill(tblDataSource4);
for (int i=0;i<tblDataSource4.Rows.Count;i++)
{
this.ultraComboEditor3.Items.Add(tblDataSource4.Rows [i][0]) ;
}
this.ultraComboEditor3.SelectedIndex =0;
}
else if(this.ultraComboEditor2.Text.Trim()=="封单"||this.ultraComboEditor2.Text.Trim()=="封双")
{
this.strSQL ="select distinct type from 故障类型 where yangshi='封闭'";
da4=new SqlDataAdapter (this.strSQL,this.tempConnection);
da4.Fill(tblDataSource4);
for (int i=0;i<tblDataSource4.Rows.Count;i++)
{
this.ultraComboEditor3.Items.Add(tblDataSource4.Rows [i][0]) ;
}
this.ultraComboEditor3.SelectedIndex =0;
}
}
//-------------------为“故障部位”下拉框设置下拉数据------------------
private void InputGuZhangBuWei()
{
if(this.ultraComboEditor2.Text.Trim()=="敞单"||this.ultraComboEditor2.Text.Trim()=="敞双")
{
this.strSQL ="select buwei from 故障类型 where type='"+this.ultraComboEditor3.Text.Trim()+"' and yangshi='敞开'";
da5=new SqlDataAdapter (this.strSQL,this.tempConnection);
da5.Fill(tblDataSource5);
for (int i=0;i<tblDataSource5.Rows.Count;i++)
{
this.ultraComboEditor4.Items.Add(tblDataSource5.Rows [i][0]) ;
}
this.ultraComboEditor4.SelectedIndex =0;
}
else if(this.ultraComboEditor2.Text.Trim()=="封单"||this.ultraComboEditor2.Text.Trim()=="封双")
{
this.strSQL ="select buwei from 故障类型 where type='"+this.ultraComboEditor3.Text.Trim()+"' and yangshi='封闭'";
da5=new SqlDataAdapter (this.strSQL,this.tempConnection);
da5.Fill(tblDataSource5);
for (int i=0;i<tblDataSource5.Rows.Count;i++)
{
this.ultraComboEditor4.Items.Add(tblDataSource5.Rows [i][0]) ;
}
this.ultraComboEditor4.SelectedIndex =0;
}
}
//--------"话亭样式"下拉框的变化,对应"故障类型"下拉框的变化----------
private void ultraComboEditor2_TextChanged(object sender, System.EventArgs e)
{
tblDataSource4.Clear();
this.ultraComboEditor3.Items.Clear(); //故障类型清空
InputGuZhangType();
}
//-----------"故障类型"下拉框的变化,对应"故障部位"下拉框的变化---------
private void ultraComboEditor3_TextChanged(object sender, System.EventArgs e)
{
tblDataSource5.Clear();
this.ultraComboEditor4.Items.Clear(); //故障部位清空
InputGuZhangBuWei();
}