2013-06-07 3 views
0

Infragistics.Win.UltraWinGrid.UltraGrid 버전 Infragistics4.Win.UltraWinGrid.v13.1 을 사용하고 있으며이 코드가 제대로 실행되는 데 문제가 있습니다. (디버그 모드에서 확인) 일이 발생 아주 이상한이 시점 뭔가격자에 행이 표시되지 않습니다.

// creating the dataSource object which is a wrapper for a System.Data.DataTable 
dataSource.FillTheValues(); 
Infragistics.Win.UltraWinGrid.UltraGrid grid = new Infragistics.Win.UltraWinGrid.UltraGrid(); 

grid.DataSource = dataSource.Table; //dataSource.Table is a System.Data.DataTable 
grid.DataBind(); 
grid.PerformLayout(); 

:

  • dataSource.Table.Rows.Count 1203
  • grid.Rows.Count입니다 1203

하지만 내 양식의 실제 그리드에 아무 것도 표시되지 않고 그리드가 완전히 비어있는 것처럼 보입니다.

격자의 열은 dataSource.Table에있는 열을 완벽하게 표시하므로 바인딩이 좋습니다.

또한 grid.Update, grid.Refresh, grid.Invalidate을 호출하려고 시도했지만 결과가 없습니다.

의견이 있으십니까?

+1

을 폼 디자이너로 디자인 그리드에 대한 변수 참조를 사용하여이 문제를 해결할 수있는 당신 DataBind 및 PerformLayout이 필요하지 않습니다. – Steve

+1

그런데 수동으로 생성 된 표 인스턴스를 양식 컨트롤 컬렉션에 추가 했습니까? – Steve

+1

@Lorenzo 원인을 파악하는 데 필요한 정보가 충분하지 않습니다. 스티브는 그리드가 폼에 추가되었는지 확인하기 위해 좋은 포인트를 얻었고, 당신이 볼 수있는 인스턴스인지 확인해야합니다. – alhalama

답변

0

위 코드에서 새 인스턴스의 UltraGrid를 선언하고 초기화 한 다음이 새 인스턴스를 데이터 소스로 채 웁니다. 이 격자 인스턴스는 디자이너가 양식 표면에 작성한 동일한 격자가 아닙니다. 그것은 단지 데이터로 채워지지만 결코 표시되지 않는 객체입니다.

(당신이 디자이너의 이름 속성을 변경하지 않은 경우가 ultraGrid1을 이름을 지정해야합니다) 당신은 윈폼에서

dataSource.FillTheValues(); 
ultraGrid1.DataSource = dataSource.Table; 
관련 문제