2010-12-11 7 views
0

데이터 격자보기에 10 개의 행이 있습니다 ... 저는 V S 2010을 사용합니다. 어떻게 홀수 번째 행과 짝수 번째 행의 백라이트를 변경할 수 있습니까? ?? 최선을 다하지만 다음과 같은 오류가 하나 있습니다. 인덱스가 범위를 벗어났습니다. 음수가 아니어야하며 콜렉션의 크기보다 작아야합니다. 매개 변수 이름 : 인덱스 나는 폼로드 이벤트에 내 코드를 작성DataGrid보기에서 홀수 및 짝수 행의 배경색을 어떻게 바꿀 수 있습니까?

을 설정 배경색 모든 행 후 하나의 열 배경색을 할 수있는 방법

는 .. 내 코드 (vb.net에 다음과 같이 창 형태)입니다 :

Dim CountR As Integer 
    CountR = 0 
    While CountR <= DataGridView1.RowCount 

     If CountR Mod 2 = 0 Then 
          DataGridView2.Rows(CountR).DefaultCellStyle.BackColor = Color.Pink 
     Else 
     DataGridView2.Rows(CountR).DefaultCellStyle.BackColor = Color.SkyBlue  

     End If 
     CountR = CountR + 1 
    End While 

답변

3

나는 당신이 라인 변경해야 그냥 생각 틀리지 않는 경우

While CountR < DataGridView1.RowCount 

에 가장 높은 인덱스는 행 개수보다 하나 적다.

아니면 그냥 (IDE없이 메모리에서 입력이에 아마 실수)이 같은 모든 코드를 대체 할 수 :

해야
Dim c as Color = Color.Pink 
For Each row As DataGridViewRow In DataGridView1.Rows 
    row.DefaultCellStyle.BackColor = c 
    c = If(c = Color.Pink, Color.SkyBlue, Color.Pink) 
End 

: 각 행의 색상을 변경할 경우, 및 색상을 사용한 후에는 모든 행에 색상이 칠 때까지 다른 색상으로 전환하십시오.

2

저는 vb.net 및 VS 2008에 새로 도입되었지만 요즘에는 datagridview에 대해 읽었으며 MSDN에서이 article을 발견했습니다. odd (또는 even) 행에 대한 행의 배경색을 대체하는 AlternatingRowsDefaultCellStyle이라는 datagridview의 속성이 있습니다. 이 방법은 다음과 같이 설정됩니다.

dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightGray 
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGray 

희망 사항 (그리고 사과하지 않으면 ...).

3

for/while은 잘못된 방법입니다! 코드보다 많은 기록이있는 경우 느려질 수 있습니다.

나는 이것이 올바른 방법이라고 생각 :

Dim cs As New System.Windows.Forms.DataGridViewCellStyle 
cs.BackColor = Color.Aqua 
Me.DataGridView1.AlternatingRowsDefaultCellStyle = cs 
3

이 시도 : 고르게 흰색 유지하면서

<code> 
    For each row in datagridviewrow in datagridview1.rows 
    If not row.index/2 = int(row.index/2) then row.defaultcellstyle.backcolor = color.{your color choice} 
    Next 
</code> 

이 확률에게 한 가지 색상을 만들 것입니다.

+0

'DataGridview1.rows의 DataGridviewrow에있는 각 행에 대해 '는'For Each row in Dataagridview1.rows'이어야합니다. 이것은 좋은 해결책입니다. – bendecko

1

다음을 수행하면 코드없이이 작업을 수행 할 수 있습니다. 1. 속성 패널에서 DataGridView를 2. 외관에서, 당신은 데이터 그리드 (변경하려는 하나에 여러 변경할 수있는 창이 나타납니다이 3. 일식 AlternatingRowDefaultCellStyle을 클릭하면 '의 BackColor'입니다)

관련 문제