在mfc中,我有下面一段代码
for(map<string,Project>::iterator ix = Data::getProjectData().begin();ix != Data::getProjectData().end();ix ++,i ++) {
if(ix ->first == "")
continue;
projectView.SetItemText(i,0,toCString(ix ->first));
projectView.SetItemText(i,1,toCString(ix ->second.getProjectID()));
projectView.SetItemText(i,2,toCString(ix ->second.getProjectStartTime()));
projectView.SetItemText(i,3,toCString(ix ->second.getProjectManager()));
}
其中projectView是一个list control控件,但是函数执行了,结果没有显示

解决方案 »

  1.   

    跟我问题一样int n=InsertItem... //插入一行的第一列
    SetItemText(n,1,...); //插入该行第二列
      

  2.   


    我前面在循环外还有一行代码
    projectView.SetItemText(4,1,_T("fsfsg"));
    为了试验一下,结果还是没有显示
      

  3.   

    SetItemText(i, 0,...之前,是否已经存在改行,即是否InsertItem(i, ...)for(map<string,Project>::iterator ix = Data::getProjectData().begin();ix != Data::getProjectData().end();ix ++,i ++) {
    if(ix ->first == "")
    continue;
    //InsertItem(i,....)?
    projectView.SetItemText(i,0,toCString(ix ->first));
    projectView.SetItemText(i,1,toCString(ix ->second.getProjectID()));
    projectView.SetItemText(i,2,toCString(ix ->second.getProjectStartTime()));
    projectView.SetItemText(i,3,toCString(ix ->second.getProjectManager()));
    //i ++?
    }