2012-04-20 7 views
0

저는 Windows 양식에 익숙하지 않으며 잘못된 생각을 갖고 있습니다. 나는 ListView1이라는 툴바에서 드래그하여 생성 한 ListView를 앞에두고 List 속성을 "List"로 변경했습니다. 다음 메서드를 사용하여 바인딩 할 시도 :ListView에 아무 것도 표시되지 않습니다.

private void BindData() 
{ 
    DataTable dt = new DataTable(); 
    dt = GetLatestInformation(); 
    Binding b = new Binding("NAME", dt, "NAME"); 
    listView1.DataBindings.Add(b); 
} 

메서드 GetLatestInformation 작업 및 테이블 반환 200 행의 데이터를 사용합니다. BindData 메서드에 매 번 도달합니다. 누구나 내가 실종 된 것에 대한 단서가 있습니까? 미리 감사드립니다.

+2

'GetLatestInformation()'호출이 인스턴스를 반환하기 때문에'new DataTable()'이 필요하지 않습니다. – davisoa

+1

감사합니다. Davi, 저는 이것을 염두에 두겠습니다. 현재 문제를 해결하지는 못하지만 게으르다가 변수를 초기화하지 않을 때는 여전히 좋은 관행입니다. – Lukas

+0

내가 틀렸다면 나에게 맞습니다. 그러나 올바르게 기억한다면, ListView는 데이터 바인딩을 지원하지 않습니다. – DarkSquirrel42

답변

1

내가이 가능합니다 당신은 무엇을하려고하는지 모르겠지만, 그 주위에 빠른 작업을 통해 단지 루프하고 목록보기로 수동으로 데이터를 추가 할 적합 할 수있다

 foreach (DataRow dr in dt.Rows) 
     { 
      listView1.Items.Add(dr["NAME"].ToString()); 
     } 
+0

더 좋은 방법이 있어야합니다. 그러나 이것은 분명히 일부 데이터를 화면에 추가하기 때문에 여러분에게 요점을 알려줍니다. 더 나은 것이 아무것도 없으면 아마도 답을 표시 할 것입니다. – Lukas

+0

wpf 사용을 방해하는 것이 있습니까? 데이터 테이블에 데이터 바인딩하는 것이 훨씬 쉽습니다. winforms (내 경험)에서 일반적으로 직접 UI를 조작하고 있습니다. –

0

ListView의 View 속성을 Details으로 설정해야합니까? ...

+0

아무 것도 내게 빈 페이지를주는 것처럼 보이지 않으므로 나는 그것을 피하고 있습니다. DataGridView에이 문제가 없었습니다. – Lukas

0

GetLatestInformation()null 값을 반환 할 수 있습니까?

+1

아니요, 200 행의 데이터가있는 테이블을 반환합니다. – Lukas

관련 문제