代码如下:
while(!rst.IsEOF())
{
pListCtrl->InsertItem(nTotalCount,"strValue");
for(int i=0; i<nFields; i++)
{
rst.GetFieldValue((short)i,strValue);
pListCtrl->SetItemText(nTotalCount,i,strValue);
}
nTotalCount ++;
nCount ++;
rst.MoveNext();
}
在执行了上面的代码后,只有最后一行的数据可以正确写入ListCtrl,而其它除了第一列为“strValue”外,都为空。
请问这是怎么回事?
while(!rst.IsEOF())
{
pListCtrl->InsertItem(nTotalCount,"strValue");
for(int i=0; i<nFields; i++)
{
rst.GetFieldValue((short)i,strValue);
pListCtrl->SetItemText(nTotalCount,i,strValue);
}
nTotalCount ++;
nCount ++;
rst.MoveNext();
}
在执行了上面的代码后,只有最后一行的数据可以正确写入ListCtrl,而其它除了第一列为“strValue”外,都为空。
请问这是怎么回事?
for(int i=1; i<nFields; i++)
试过了,但也不行。
while(!rst.IsEOF())
{
pListCtrl->InsertItem(0,"strValue");
for(int i=1; i<nFields; i++)
{
rst.GetFieldValue((short)i,strValue);
pListCtrl->SetItemText(0,i,strValue);
}
nCount ++;
rst.MoveNext();
}
而且,pListCtrl->SetItemText(nTotalCount,i,strValue);这里第一个参数应该试用上一句InsertItem的返回值
这句是否成功!!加个MessageBox(strValue);看看strValue里面是否有值再说!!
如果不想逆序,就用GetCount做插入参数,就会插在最后了while(!rst.IsEOF())
{
int nIndex = pListCtrl->InsertItem(pListCtrl->GetCount(),"strValue");
if(nIndex != -1)
{
for(int i=1; i<nFields; i++)
{
rst.GetFieldValue((short)i,strValue);
pListCtrl->SetItemText(nIndex,i,strValue);
}
}
nCount ++;
rst.MoveNext();
}