2014-10-08 5 views
0

MFC의 목록 컨트롤로 작업하고 있습니다. 그러나목록 컨트롤에서 데이터를 가져올 수 없습니다.

int nIndex = 0; 

for (int count = 0; count < arrResults.GetSize(); count++) 
{ 
    nIndex = m_cListCtrl.InsertItem(count, _T(arrResults[count].ElementAt(0))); 
    m_cListCtrl.SetItemText(nIndex, 1, _T(arrResults[count].ElementAt(1))); 
} 

내가 m_cListCtrl에서 데이터를 검색 할 때, 그것은 항상 빈 반환, 다음과 같이 나는 대화 상자에서 목록 컨트롤 존재에 요소를 삽입하는 코드를 작성했습니다. 또한 GetItemCount() 메서드는 0 항목을 반환합니다. 모든 제안을 부탁드립니다.

arrResults.SetSize(1); 
arrResults[0].Add("Header1"); 
arrResults[0].Add("Header2"); 

TestDialog testDlg; 
testDlg.FillControlList(arrResults); // This function has above code to add data to control list 

EXPECT_EQ("Header1", queryDlg.m_cListCtrl.GetItemText(0, 0)); 
EXPECT_EQ("Header2", queryDlg.m_cListCtrl.GetItemText(0, 1)); 

GetItemText 기능은 빈 문자열을 반환 :

다음은 데이터가 내가 작성한 코드를 검색합니다.

+0

게시 한 코드에 문제가없는 것으로 보이므로 게시하지 않은 코드에 문제가 있어야합니다. 더 우리에게 보여줘? –

+1

** 항상 ** 함수 호출의 반환 값 확인 -'nIndex' <0입니까? List Control의 열을 정의 했습니까? –

+0

@RogerRowland - 제어 목록에서 데이터를 가져 오는 코드로 질문을 업데이트했습니다. – aks

답변

0

FillControlList()를 호출하면 testDlg 객체가 사용됩니다. 하지만 GetItemText()를 호출하면 queryDlg 객체를 사용하게됩니다. 하나의 대화 상자에 항목을 삽입했으며 다른 개체에서 데이터를 가져 오려고합니다. 그것으로 확인하십시오.