乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 12|回复: 0

停靠栏的问题,希望好心人帮帮忙看看,问题该怎么解决

[复制链接]

8

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
41
发表于 2006-8-13 12:32:00 | 显示全部楼层 |阅读模式
我在停靠栏上放了listcontrol控件,代码如下:要实现当停靠栏显示时,listcontrol中的数据也显示出来!extern _ConnectionPtr pConn;
BOOL CAcDialogBar::Create (CFrameWnd *pParent, UINT nIDTemplate, UINT style, UINT nID) {
if ( !CDialogBar::Create (pParent, nIDTemplate, style, nID) )
  return (FALSE) ;
mSizeCurrent =m_sizeDefault ;
    CAcDialogBar m_MyBar;
    m_ctrlCoPeople.SubclassDlgItem(IDC_LS_COPeople,this);
    DWORD dwStyle = m_ctrlCoPeople.GetExtendedStyle();
      dwStyle |= LVS_EX_FULLROWSELECT      dwStyle |= LVS_EX_GRIDLINES;
        m_ctrlCoPeople.SetExtendedStyle(dwStyle); //设置扩展风格
m_ctrlCoPeople.InsertColumn(0,"协同用户");
m_ctrlCoPeople.InsertColumn(1,"协同方式");
    m_ctrlCoPeople.InsertColumn(2,"用户IP");
m_ctrlCoPeople.InsertColumn(3,"协同项目");
m_ctrlCoPeople.InsertColumn(4,"协同模块");  
m_ctrlCoPeople.SetColumnWidth(0,100);//设置列的宽度。
    m_ctrlCoPeople.SetColumnWidth(1,100);
m_ctrlCoPeople.SetColumnWidth(2,100);
    m_ctrlCoPeople.SetColumnWidth(3,100);
    m_ctrlCoPeople.SetColumnWidth(4,100);   
CString vsql,vstrType,vstrName,vstrIp,vstrPid,vstrMid;
_RecordsetPtr vst;
_variant_t Holder;
int i = 0;
vst.CreateInstance(__uuidof(Recordset));
    vsql.Format("SELECT * FROM tempcoinfo");
    vst->Open(_variant_t(vsql),pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
    if(!vst->adoEOF)
    {
  m_ctrlCoPeople.DeleteAllItems();
  vst->MoveFirst();
  while (!vst->adoEOF)
  {
         LV_ITEM lvitem;
   lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
   lvitem.state = 0;      
   lvitem.stateMask = 0;
   //char temp[50];
   
   lvitem.iItem = i;
   lvitem.iSubItem = 0;
            //lvitem.pszText =itoa(i, temp, 10);
            //m_ctrlCoPeople.InsertItem(&lvitem);
   Holder=vst->GetCollect("tempType");
            vstrType = Holder.vt==VT_NULL?""char *)(_bstr_t)Holder;
      Holder=vst->GetCollect("tempname");
       vstrName= Holder.vt==VT_NULL?""char *)(_bstr_t)Holder;
      Holder=vst->GetCollect("tempip");
      vstrIp= Holder.vt==VT_NULL?""char *)(_bstr_t)Holder;
      Holder=vst->GetCollect("coprojectid");
      vstrPid= Holder.vt==VT_NULL?""char *)(_bstr_t)Holder;
      Holder=vst->GetCollect("comodeid");
      vstrMid= Holder.vt==VT_NULL?""char *)(_bstr_t)Holder;  
  
   lvitem.pszText =(LPSTR)LPCSTR(vstrName) ;
   m_ctrlCoPeople.InsertItem(&lvitem);   
   m_ctrlCoPeople.SetItemText(i,1,(LPCTSTR)vstrType);                   m_ctrlCoPeople.SetItemText(i,2,(LPCTSTR)vstrIp);
  m_ctrlCoPeople.SetItemText(i,3,(LPCTSTR)vstrPid);
m_ctrlCoPeople.SetItemText(i,4,(LPCTSTR)vstrMid);
   vst->MoveNext();
            i=i+1;
  }
  
}
    vst->Close();
    delete vst;
return (TRUE) ;
}
可是当运行时,所有m_ctrlCoPeople.SetItemText()语句只能在最后一条记录显示出数据来,其余的都不显示查询到的数据,请问该问题怎么解决,谢谢!!!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 20:55 , Processed in 0.141697 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表