MFC,我想让下面编辑框的数据,根据组合框中数据改变而改变,但组合框中数据无法选择改变,一直显示0001.

我为物资编号后的组合框加一函数,voidCAddRkInfo::OnSelchangeInWzid(){//TODO:Addyourcontrolnotification... 我为物资编号后的组合框加一函数,
void CAddRkInfo::OnSelchangeInWzid()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_1=m_wzid;
CWzSet wSet;
m_wzid.TrimLeft();
if(wSet.IsOpen())
wSet.Close();
wSet.m_strFilter.Format("fldWzid ='%s'",m_wzid);
wSet.Open();
m_wzname = wSet.m_fldWzname ;
m_wzspec = wSet.m_fldWzpec ;
m_wzkind = wSet.m_fldWzkind ;
m_wzunit = wSet.m_fldWzunit ;
UpdateData(false);
}
我想只要组合框中的数据改变,就自动调用刚才的函数,使下面的物资名称,规格类别,计数,根据Access中的数据而改变,但是组合框只显示0001,不让选择0002,0003等,一直显示0001,如果见上面的 UpdateData(true);去掉的话,就能改变了,但是下面的 数据名称 等 就成空的什么都不显示了。如下图:
展开
 我来答
bhtzu
推荐于2016-04-14 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4262万
展开全部

目测代码没有明显问题。你这样试试:

void CAddRkInfo::OnSelchangeInWzid() 
{
// TODO: Add your control notification handler code here
  UpdateData(true);
  m_1=m_wzid;
  CWzSet wSet;
  m_1.TrimLeft();///////////
     if(wSet.IsOpen())
wSet.Close();
  wSet.m_strFilter.Format("fldWzid ='%s'",m_1);/////////////m_1
     wSet.Open();
       m_wzname = wSet.m_fldWzname ;
       m_wzspec = wSet.m_fldWzpec ;
       m_wzkind = wSet.m_fldWzkind ;
       m_wzunit = wSet.m_fldWzunit ; 
       wSet.Close();
       UpdateData(false);
}
更多追问追答
追问
其实你的方法我以前试过一次,不行啊,
追答

这样尝试一下:

删除m_wzid变量,然后在代码中:

GetDlgItem(IDC_COMBO1)->GetWindowText(m_1);

这样获取组合框显示。

来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式