高分求助!急~~~~~~~下拉框之间的连动问题

kinkin_jie 2006-10-24 01:30:36
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();
}
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
james2511 2006-10-25
  • 打赏
  • 举报
回复
//--------"话亭样式"下拉框的变化,对应"故障类型"下拉框的变化----------
private void ultraComboEditor2_TextChanged(object sender, System.EventArgs e)
{
tblDataSource4.Clear();
this.ultraComboEditor3.Items.Clear(); //故障类型清空
InputGuZhangType();
this.ultraComboEditor3.SelectedIndex =0;
}

//-----------"故障类型"下拉框的变化,对应"故障部位"下拉框的变化---------
private void ultraComboEditor3_TextChanged(object sender, System.EventArgs e)
{
tblDataSource5.Clear();
this.ultraComboEditor4.Items.Clear(); //故障部位清空
InputGuZhangBuWei();
this.ultraComboEditor4.SelectedIndex =0;
}

尝试一下
sanjie88 2006-10-25
  • 打赏
  • 举报
回复
做databing的时候,会让combo触发valuechange的事件
sanjie88 2006-10-25
  • 打赏
  • 举报
回复
你怎么能把你们公司的代码直接拷上来,给你们老大看见你死定了
kinkin_jie 2006-10-24
  • 打赏
  • 举报
回复
能不能具体点?我才学习不久,不太懂.
supesa 2006-10-24
  • 打赏
  • 举报
回复
在加载的时候,在DataBind事件中,给三个select赋当前只
dlzhangln 2006-10-24
  • 打赏
  • 举报
回复
你保存的代码什么样的,在每个事件和函数上设置断点,看看在什么位置清空了下拉框
潜水员2099 2006-10-24
  • 打赏
  • 举报
回复
把三个下拉框的Items分别保存到当前窗体的内三个string数组里面,统一赋值!

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧