问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么在mfc 列表控件中删除数据(数据库中所对应的数据也要删除)

发布网友 发布时间:2022-04-27 04:56

我来回答

1个回答

热心网友 时间:2022-04-09 15:01

列表显示只是一个表象,二者没有设定好的关联。实际的删除操作应该在数据库中进行,也就是执行删除工作后,你得把列表数据刷新一下,重新显示。
具体的函数实现,如果需要我再贴上来。

void CMCTTView::ListItem()//刷新列表
{
int i = 0;
if(!m_pSet->IsOpen())
AfxMessageBox("数据源未打开");
m_Item.SetExtendedStyle(m_Item.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
m_Item.DeleteAllItems();
m_Item.SetRedraw(FALSE);
if (!m_pSet->GetRecordCount() == 0)
{
m_pSet->MoveFirst();
}

while(!m_pSet->IsEOF())
{

m_Item.InsertItem(i,"");

m_Item.SetItemText(i,0,m_pSet->m_column1);
m_Item.SetItemText(i,1,m_pSet->m_column2);
m_Item.SetItemText(i,2,m_pSet->m_column3);
m_Item.SetItemText(i,3,m_pSet->m_column4);

i+=1;
m_pSet->MoveNext();
}
m_Item.SetRedraw(TRUE);

}

void CMCTTView::OnItemDel() //在view类中删除条目
{
// TODO: Add your control notification handler code here
int listIndex; //当前选中项的索引
//首先得到点击的位置
POSITION pos=m_Item.GetFirstSelectedItemPosition(); //0 based m_item是指代列表控件
if(pos==NULL)
return;
//得索引,通过POSITION转化
listIndex=m_Item.GetNextSelectedItem(pos)+1; //1 based,so 1 added
m_pSet->SetAbsolutePosition(listIndex);

if ( MessageBox( _T( "你确定要删除当前单词信息吗?" ),
_T( "删除确认?" ), MB_OKCANCEL | MB_ICONQUESTION ) == IDOK )
{
m_pSet->Delete();
MessageBox( _T( "该单词信息已经被成功删除!" ),
_T( "删除成功!" ), MB_OK | MB_ICONASTERISK );
OnNext();
}
m_pSet->Requery();
//if(!m_pSet->GetRecordCount() == 0)
ListItem();
}

void CMCTTView::OnNext()
{
m_pSet->MoveNext();

if ( m_pSet->IsEOF() )
m_pSet->MoveFirst();
}

int CMCTTDoc::AddToAcc()//在doc类中添加数据
{
m_mCTTSet.AddNew();
CString str1,str2,str3,str4;
str1.Format("%s",m_Index);
str2.Format("%f",m_UseHs);
str3.Format("%f",m_UseHj);

switch (m_HJStyle)
{
case 0:
str4 = CString("类型1");
break;
case 1:
str4 = CString("类型2");
break;
case 2:
str4 = CString("类型3");
break;
}
m_mCTTSet.m_column1 = str1; //Index
m_mCTTSet.m_column2 = str2; //the use of hansi
m_mCTTSet.m_column3 = str3; //the use of hanji
m_mCTTSet.m_column4 = str4; //the style of hanjie

m_mCTTSet.Update();
m_mCTTSet.Requery();
MessageBeep(MB_OK);

CMainFrame* pframe = (CMainFrame*)AfxGetMainWnd();

CMCTTView* pInterfaceView = (CMCTTView*)pframe->GetActiveView();
pInterfaceView->ListItem();

return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
时光公主高性价比氪金项目一览介绍_时光公主高性价比氪金项目一览是什么... 时光公主氪金买什么好介绍_时光公主氪金买什么好是什么 时光公主氪金买什么好 氪金钻石消费攻略 ch61u可以用gtx960显卡吗? 为什么路由器和机顶盒变成黄色网络连接不上 索尼WH-1000XM3耳机怎么通过蓝牙连接 索尼WH-1000XM3蓝牙连接手机教程... 葫芦岛市行政执法投诉办法第一章 总则 葫芦岛市价格调节基金管理办法第一章 总则 葫芦岛市政府信息公开暂行规定第一章 总则 葫芦岛市人民政府制发规范性文件规定第一章总则 卫生间墙上有蚂蚁怎么回事 网络文化经营许可证怎么变更 怎样从列表中删除F 米煮的夹生了怎么办 Java中list如何利用遍历进行删除操作 文网文能不能过户 从列表中删除和从本地磁盘删除有何区别? 公司地址变了,还用变更文网文吗 Beyond Compare怎样删除列表数据 文网文证申请变更材料和流程 文网文域名变更会影响到文网文吗 文网文许可证的文网文许可证变更 如何删除vb列表框所选项目? 您好!法人改了怎么申请修改文网文? 列表长按删除 《网络文化经营许可证》地址变更,怎么办? 怎么把自己从对方的列表中删除 文网文要变更怎么办 如何按列表删除文件 北京市地铁线路示意图 为什么墙缝突然有很多蚂蚁? 中国文化市场网备审网吧怎么改地址? 利用切片删除列表元素 文网文企业名称变更需要准备什么资料? java怎样删除列表中一条记录 文网文企业法人变更需要准备什么资料? 线性表的删除操作是DelList还是ListDelete?(用C语言描述),谢谢了 文网文增项办理问题? 网络文化经营许可证的许可证变更 怎么把电脑桌面上的图标弄到电脑桌面的上方或下方? 数据结构单链表的插入操作和删除操作怎样用语言描述? 家有蚂蚁在墙上扎堆不动是怎么回事 70周年纪念币 金、银币如何领取,预约。 济南买电器哪里好? 关于济南市各种用电价格 济南除了超市,国美苏宁外,哪有买电暖气的地方, 菜鸟问一下:微信营销和微博营销有什么区别? 济南供电公司的地址和电话 济南买电动车哪里好 在济南从那能买充电电池