none
用CListCtrl,插入数据时出现的问题 RRS feed

  • 问题

  • 用CListCtrl制作表格,插入数据时始终从第一行插入,显示的数据仅第一列和最后一行,

    int nIndex = m_stockedata.GetItemCount();
      LV_ITEM lvItem;
      lvItem.mask = LVIF_TEXT;
      lvItem.iItem = nIndex;
      lvItem.iSubItem = 0;
      lvItem.pszText = Pstr;

    m_stockedata.InsertItem(&lvItem);

    m_stockedata.SetItemText(nIndex, 1, m_Zz1.GetAt(pos));

    如果使用下面代码,则显示数据的行数与实际不符,第一行变最后一行,第二行变倒数第二行

     int nRow = m_stockedata.InsertItem(j, str);
      pos = m_Zz1.FindIndex(i);
      m_stockedata.SetItemText(nRow, 1, m_Zz1.GetAt(pos));

    j=0,1,2...,跟踪nRow始终为0,为什么

    2017年5月1日 4:38

全部回复

  • Hi exci4191,

    感谢在MSDN论坛发帖。

    >>如果使用下面代码,则显示数据的行数与实际不符,第一行变最后一行,第二行变倒数第二行

     int nRow = m_stockedata.InsertItem(j, str);
      pos = m_Zz1.FindIndex(i);
      m_stockedata.SetItemText(nRow, 1, m_Zz1.GetAt(pos));

    j=0,1,2...,跟踪nRow始终为0,为什么

    请提供一下详细的上下文代码。我试了你的代码,可以正常插入节点。显示没有错误。

    或者可以上传测试项目到One Drive上,方便我们查找具体原因。

    谢谢你的理解与支持。

    Best Regards,
    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年5月2日 9:12
  • 谢谢你的回复

    我的目的是

    先初始化一个CListCtrl,共6列,因外部选项变化这个表格内的数据行数会出不同,

    因此,当表格的行数改变,插入数据就会出现非预期,也就是我前面提出的问题。

    后来我改成插入或删除改变行数符合要求,再依次用SetIermText,结果正确,不足的是

    感觉操作有些重复,如有好的方法,请赐教。

    • 已建议为答案 Angie Xu 2017年5月12日 1:42
    2017年5月3日 8:59