| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2856 人关注过本帖
标题:请教一下这个为什么不可以同时删除多个?
只看楼主 加入收藏
pengll
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-3-24
结帖率:0
收藏
已结贴  问题点数:4 回复次数:1 
请教一下这个为什么不可以同时删除多个?
void CBaseView::Delete_Group()
{
    CBaseDoc* pDoc = GetDocument();
    CListCtrl& list = GetListCtrl();   
    CChildFrame* pParent = (CChildFrame*)GetParent();
    int page = pParent->m_PageBar.GetSelectPage() ;
    int start = (page-1)*36 ;

    unsigned int groupno = 0 ;
    int nidx  =-1;
    POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置
    if (pos != NULL)
    {
        nidx = list.GetNextSelectedItem(pos) ;
        if ((start + nidx)> pDoc->GetDataSize())
        {
            return ;
        }
        CString GroupNoRow = pDoc->GetData(nidx + start) ;
        CString GroupNo = getdatano( GroupNoRow , 1) ;        
        groupno = _ttoi(GroupNo) ;

    }
    else{
        AfxMessageBox(_T("选择要删除的组!")) ;
        return;
    }
    TCHAR buf[30] = {0} ;
    wsprintf(buf ,_T("确认删除组 %d ?") ,groupno) ;

    if(MessageBox( buf, _T("确认"), MB_ICONQUESTION | MB_OKCANCEL) == IDCANCEL)
    {
        return ;
    }

    grp_table_del_by_grpNum_t group_client ;
    memset(&group_client , 0 , sizeof(group_client));        
    group_client. = user_group_del_by_grpnum ;
    group_client.operateHead.operateType = Delete ;
    group_client.operateHead.nmsClientPac.dev_code =  devcode ;
    group_client.operateHead.nmsClientPac.system_source = nms_sys;
    group_client.operateHead.nmsClientPac.pac_msg_serial =  create_msg_searial() ;
    group_client.operateHead.nmsClientPac.packet_len = sizeof(group_client) ;
    group_client.operateHead.nmsClientPac.pac_msg_type = database_handle ;

    CString strDisId = list.GetItemText(nidx , 7) ;
    group_client.dispatchID  = _ttoi(strDisId) ;

    if (group_client.dispatchID <= 0)
    {
        //    return ;
    }

    group_client.grpNum = groupno ;
    bfdx_send((char*)&group_client , sizeof(group_client)) ;



}
2016-03-24 09:46
农民工
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:109
专家分:639
注 册:2015-8-22
收藏
得分:4 
哪里有问题?是这边吗?
    POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置
    if (pos != NULL)
    {
        nidx = list.GetNextSelectedItem(pos) ;
一般这样用 :
    POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置
    while(pos != NULL)
    {
        nidx = list.GetNextSelectedItem(pos) ;
。。。
    }
2016-03-29 09:13
快速回复:请教一下这个为什么不可以同时删除多个?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017197 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved