Visual Studioのdatagridviewでvb.netで作業しています。DatagridviewのColumn BackColorをVB.netのRow BackColorをオーバーライドするように設定する
行は曜日です。行はすべてバックカラー(変数LightColour1とLightColour2)を代替し、週末の行は変数WeekendRowsColourになります。それだけで十分ですが、最終的な列全体を白くする必要があります。しかし、どのように私はそれに近づいて行の色を無効にすることはできません。何かアドバイス?
は、ここに私のコードセクションです:
For r = 0 To 27
dgv.Rows.Add()
dgv.Rows(r).Cells(0).Value = Format(nDate, "ddd")
dgv.Rows(r).Cells(1).Value = Format(nDate, "d/MM/yyyy")
If Format(nDate, "ddd") = "Sat" Or Format(nDate, "ddd") = "Sun" Then
dgv.Rows(r).DefaultCellStyle.BackColor = WeekendRowsColour
dgv.Rows(r).DefaultCellStyle.SelectionBackColor = WeekendRowsSelColour
Else
If r Mod 2 = 0 Then 'even row
dgv.Rows(r).DefaultCellStyle.BackColor = LightColour1
dgv.Rows(r).DefaultCellStyle.SelectionBackColor = SelLightColour1
Else 'alternate row
dgv.Rows(r).DefaultCellStyle.BackColor = LightColour2
dgv.Rows(r).DefaultCellStyle.SelectionBackColor = SelLightColour2
End If
End If
nDate = DateAdd(DateInterval.Day, 1, nDate)
Next
dgv.Columns(dgv.Columns.Count - 1).DefaultCellStyle.BackColor = Color.White
しかし、私はそれに近づくどんなには、最後の列は、デフォルトの色を出してきます。私の最大の成功は、行のバックカラーと交互の背景色をプログラムで設定し、デザイナーで列のプロパティを白に設定することでしたが、交互の行や週末の色は上書きされませんでした。
ここに私の髪を引っ張ってください!
たぶん、上書きされていない背景色とその最後の列のためのカスタムクラス?しかし、どのようにそれを行うか分からない。 – dya