2011-09-02 2 views
2

저는 .NET에 익숙하지 않고 약간의 변경 작업이 필요했습니다. 내가보고있는 코드에 drawAllRows 메소드가 있다는 것을 알았다. 이렇게하면 행을 다른 색상으로 바꿀 수 있습니다.WinForm 테이블에 행 색상을 교대로 표시하는 방법이 있습니까?

  if (rowIndex % 2 == 0) 
      { 
       backColor = grayColor; 
      } 
      else 
      { 
       backColor = Color.White; 
      } 

이 기능은 기본적으로 작동합니다. 그러나 정렬 기능이 있기 때문에 행이 다시 사용될 때 항상 올바른 것은 아닙니다. 속성에서이 작업을 수행하는 기본 방법이 있습니까? 아니면이 효과를 얻는 다른 방법은 없을까요? 감사.

+1

CodeCaster에 대한 응답에서이 사용자 정의 컨트롤 (표준 메서드로 drawAllRows를 인식하지 못했습니다 ...하지만 충분히 많이 알지 못합니다)이 발생한 경우 행의 색인화가 정렬 후 행의 순서와 어떻게 다른지를 나타냅니다. 그런 다음 정렬 방법론을 파헤쳐 주 제어에서 행의 실제 순서를 파악해야한다고 생각합니다 (예 : "rowIndex"는 컬렉션 내의 항목에 대한 합법적 인 인덱스 일 수 있지만, t는 표시 순서를 지시하는 것으로 보입니다). – Steven

답변

7

어떤 구성 요소를 사용하고 있습니까? DataGridView에는 AlternatingRowsDefaultCellStyle 속성이 있으므로 여기에서 의도 한대로 정확하게 작업 할 수 있습니다.

+0

System.Windows.Forms.UserControl의 하위 클래스로 보입니다. – Crystal

관련 문제