在修改某项记录时,点击”修改“,弹出对话框的时候,该项记录还在,在原来的记录上重新编辑新数据,该如何实现?
其实我已经实现了点击”修改“,弹出对话框,然后将要改的数据输入到编辑框,实现修改功能,但是弹出的对话框上没有原来的数据。要实现弹出对话框时,原来的数据还在,代码该如何写呢?感谢各位了。
我的修改函数如下:
void CMylistctrlDlg::OnModRow()
{
POSITION spos=NULL;
spos = m_list.GetFirstSelectedItemPosition();
int nSelItem = -1;
nSelItem = m_list.GetNextSelectedItem(spos);//找到要修改的行
CADDDLG dlg;
int nret=dlg.DoModal ();
if(nSelItem >= 0 && nSelItem<m_list.GetItemCount())
{
if(nret==IDOK)
{
CString str;
UpdateData(FALSE);
str.Format (_T("%s"),dlg.m_id) ;
m_list.SetItemText(nSelItem,0,str);//改该行第0项 str.Format (_T("%s"),dlg.m_time ) ;
m_list.SetItemText(nSelItem,1,str);//改该行第1项 str.Format (_T("%s"),dlg.m_chan ) ;
m_list.SetItemText(nSelItem,2,str);//改该行第2项 str.Format (_T("%s"),dlg.m_x ) ;
m_list.SetItemText(nSelItem,3,str);//改该行第3项 str.Format (_T("%s"),dlg.m_y ) ;
m_list.SetItemText(nSelItem,4,str);//改该行第4项 }
}
}
其实我已经实现了点击”修改“,弹出对话框,然后将要改的数据输入到编辑框,实现修改功能,但是弹出的对话框上没有原来的数据。要实现弹出对话框时,原来的数据还在,代码该如何写呢?感谢各位了。
我的修改函数如下:
void CMylistctrlDlg::OnModRow()
{
POSITION spos=NULL;
spos = m_list.GetFirstSelectedItemPosition();
int nSelItem = -1;
nSelItem = m_list.GetNextSelectedItem(spos);//找到要修改的行
CADDDLG dlg;
int nret=dlg.DoModal ();
if(nSelItem >= 0 && nSelItem<m_list.GetItemCount())
{
if(nret==IDOK)
{
CString str;
UpdateData(FALSE);
str.Format (_T("%s"),dlg.m_id) ;
m_list.SetItemText(nSelItem,0,str);//改该行第0项 str.Format (_T("%s"),dlg.m_time ) ;
m_list.SetItemText(nSelItem,1,str);//改该行第1项 str.Format (_T("%s"),dlg.m_chan ) ;
m_list.SetItemText(nSelItem,2,str);//改该行第2项 str.Format (_T("%s"),dlg.m_x ) ;
m_list.SetItemText(nSelItem,3,str);//改该行第3项 str.Format (_T("%s"),dlg.m_y ) ;
m_list.SetItemText(nSelItem,4,str);//改该行第4项 }
}
}
解决方案 »
- 屏幕坐标 与客户区坐标转换
- 使用CInternetSession进行网页的访问,如何得到Url的转向地址?
- LNK4022: cannot find unique match for symbol...
- 数据库,数组,stl的vector在运行效率和速度上应该如何看待,如何区分他们适用的场合?
- 想对一BMP结构进行分析
- vc++2010中如何使用MD5
- BITMAP的问题,我想肯定有人也遇到过。
- 数学的逻辑有时会导致看来十分怪异的结论
- 请问TC2.0, TC3.0在XP下是否不可以运行
- 关于排序问题待解(帮帮嘛)
- mfc怎么将一张图的作为背景,只显示那图片那部分
- 代码里面设置像素为255,可结果为什么是205?
int nret=dlg.DoModal (); 在DoModal之前,传入需要被修改的内容
tmp0=m_list.GetItemText(nSelItem,0);//获取选中行的第一列的值
tmp1=m_list.GetItemText(nSelItem,1);//获取选中行的第二列的值
tmp2=m_list.GetItemText(nSelItem,2);//获取选中行的第三列的值
tmp3=m_list.GetItemText(nSelItem,3);//获取选中行的第四列的值
tmp4=m_list.GetItemText(nSelItem,4);//获取选中行的第五列的值
dlg.m_name=tmp0;
dlg.m_addr=tmp1;
dlg.m_type=tmp2;
dlg.m_x=tmp3;
dlg.m_y=tmp4;