关于list control控件的一个有关问题,大家帮小弟我看看,多谢了
关于list control控件的一个问题,大家帮我看看,谢谢了
我要实现这样的目的:选中listcontrol一行record,点击BUTTON“修改”时,弹出修改界面对话框,同事listcontrol中被选中的record显示在修改界面对话框里的对应的编辑框里,修改完,按确定。回到主对话框,listcontrol中刚才修改的那一条record更新为你修改过的数据。我的修改实现代码如下(哪里错了,调了半天了,就是实现不了我的目的):
void CStudentDemoDlg::OnBnClickedModify()
{
// TODO: 在此添加控件通知处理程序代码
int i;
BOOL modify=FALSE;
CModifyStudent dlg;
for (i=0;i<m_ListData.GetItemCount();i++)
{
if (m_ListData.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
{
if (IDOK==dlg.DoModal())
{
//UpdateData(TRUE);
//int selectedRow=m_ListData.GetSelectionMark();
dlg.m_ModifyStudentName=m_ListData.GetItemText(i,0);
dlg.m_ModifyStudentSex=m_ListData.GetItemText(i,1);
dlg.m_ModifyStudentGrade=m_ListData.GetItemText(i,2);
//UpdateData(FALSE);
m_ListData.SetItemText(i,0,dlg.m_ModifyStudentName);
m_ListData.SetItemText(i,1,dlg.m_ModifyStudentSex);
m_ListData.SetItemText(i,2,dlg.m_ModifyStudentGrade);
}
modify=TRUE;
}
}
if(modify!=TRUE)
MessageBox("请先选择要修改的学生!");
}
------解决方案--------------------
是我搞错了, 应该 i应该换成 nItem
我要实现这样的目的:选中listcontrol一行record,点击BUTTON“修改”时,弹出修改界面对话框,同事listcontrol中被选中的record显示在修改界面对话框里的对应的编辑框里,修改完,按确定。回到主对话框,listcontrol中刚才修改的那一条record更新为你修改过的数据。我的修改实现代码如下(哪里错了,调了半天了,就是实现不了我的目的):
void CStudentDemoDlg::OnBnClickedModify()
{
// TODO: 在此添加控件通知处理程序代码
int i;
BOOL modify=FALSE;
CModifyStudent dlg;
for (i=0;i<m_ListData.GetItemCount();i++)
{
if (m_ListData.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
{
if (IDOK==dlg.DoModal())
{
//UpdateData(TRUE);
//int selectedRow=m_ListData.GetSelectionMark();
dlg.m_ModifyStudentName=m_ListData.GetItemText(i,0);
dlg.m_ModifyStudentSex=m_ListData.GetItemText(i,1);
dlg.m_ModifyStudentGrade=m_ListData.GetItemText(i,2);
//UpdateData(FALSE);
m_ListData.SetItemText(i,0,dlg.m_ModifyStudentName);
m_ListData.SetItemText(i,1,dlg.m_ModifyStudentSex);
m_ListData.SetItemText(i,2,dlg.m_ModifyStudentGrade);
}
modify=TRUE;
}
}
if(modify!=TRUE)
MessageBox("请先选择要修改的学生!");
}
------解决方案--------------------
是我搞错了, 应该 i应该换成 nItem