ADO+CListCtrl 虚表如何使用?我试了下,不知道怎么把查询的数据集添加到虚表中.
ffww 2009-01-27 10:48:14 void CFfDlg::OnButton1()
{
//连接数据库
m_pRecordset.CreateInstance(__uuidof(Recordset));//初始化一下_RecordsetPtr指针
try
{
m_pRecordset->Open("SELECT * FROM akcy", m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic, adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
//得到记录总数
m_pRecordset->MoveFirst();
int i=0;
while(!m_pRecordset->adoEOF)
{
m_pRecordset->MoveNext();
i++;
}
//设置虚表
m_ListCtrl.SetItemCount(i);
}
//----------------------------------------------------------------------------------------
void CFfDlg::OnGetdispinfoList1(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
LV_ITEM* pItem= &(pDispInfo)->item;
int iItemIndx= pItem->iItem;
CString tmp;
tmp.Format("%d",iItemIndx+1);
if (pItem->mask & LVIF_TEXT) //字符串缓冲区有效
{
switch(pItem->iSubItem){
case 0: //填充数据项的名字
lstrcpy(pItem->pszText,"1111");//"111"是我随便赋的值,感觉很好,但怎么把这里改成数据集中的字段值?
break;
case 1: //填充子项1
lstrcpy(pItem->pszText,"222");
break;
case 2: //填充子项2
lstrcpy(pItem->pszText,"3333");
break;
case 3: //填充子项3
lstrcpy(pItem->pszText,tmp);
break;
}
}
现在运行感觉很快,但我怎么才能把查询的数据记录放进列表中呢?
*pResult = 0;
}