求助我如何得到CListCtrl当前的字段数?
以下的代码我如何得到当前各字段的字段名?初学还请多多帮助。谢谢!回复立即给分。
HRESULT Database::SeekINI(char *caTable,CListCtrl *ctlList,char *caFilter)
{
_RecordsetPtr pRS;
HRESULT hr = pRS.CreateInstance("ADODB.RECORDSET");
if(FAILED(hr))
return E_FAIL;
CHAR caDS[400];
memset(caDS,0x0,sizeof(CHAR)*MAX_LENGTH);
sprintf(caDS,"Select * From %s",caTable);
hr = PRV_Open(pRS,caDS);
if(FAILED(hr))
         return E_EAIL;

FieldsPtr pFields;
FieldPtr  pField;
pFields = pRS->Fields;
}

解决方案 »

  1.   

    如何得到CListCtrl当前的字段数?
    ------------------
    有字段数吗?
      

  2.   

    列举字段
    _RecordsetPtr  m_pRs;  
    FieldsPtr  m_pFields;  
    FieldPtr  m_pField;  
    ...........  
    while(VARIANT_FALSE==m_pRs->IsEOF)  
    {  
           m_pFields=m_pRs->GetFields();  
           int  index;  
           for(i=0;i<m_pFields->Count;i++)  
           {  
                  VARIANT  var;  
                  var.vt=VT_I4;  
                  var.intVal=i;  
                  m_pField=m_pFields->Item[_variant_t(var)];       
                  if(m_pField->Value.vt!=VT_NULL)  
                         strFieldValue=(char*)_bstr_t(m_pField->Value);  
                  else  
                         strFieldValue="";  
                 
      

  3.   

    是要得到CtrlList的各个列表头的名字吗?
    LVCOLUMN lvCol;lvCol.mask = LVCF_TEXT;
    m_lstYourLst.GetColumn(nCol, &lvCol);
    //然后lvCol.pszText就是你要的字段名了
      

  4.   

    int n=pListCtrl->GetHeaderCtrl()->GetItemCount();
    n即为ListCtrl中列的数目。
      

  5.   

    long lColCnt = m_pFields->GetFields ()->GetCount ();
    for (long iColLoop =0;iColLoop <lColCnt;++iColLoop)
    _bstr_t bstrFiledName = m_pFields->GetFields ()->GetItem ((_variant_t)iColLoop)->GetName();
    listctrl的字段数?
    clistctrl->getheadctrl() ->getitemcount()