2

現在の日付に基づいてグリッドビューの背景色を変更したいのですが。以下のコードは機能しますが、青色で表示される将来の日付は、明日の1日ではなく、2日後に開始されます。コードに何かが欠けていますか、それとも別の方法で変更する必要がありますか?。

e.Row.RowType =DataControlRowType.DataRowThenの場合
                    Dim data As DateTime = Convert.ToDateTime(DirectCast(e.Row.DataItem、DataRowView)( "Date")。ToString())
                    TimeSpanとしてのDimdiff
                    diff = DateTime.Now.Subtract(data)
                    Dim days As Integer = diff.Days
                    '黄色=過去の日付/白=現在の日付/青=将来の日付
                    日数>0の場合
                        e.Row.BackColor = Drawing.ColorTranslator.FromHtml( "#FFFFBB")'過去の日付'
                    ElseIf日<0その後
                        e.Row.BackColor = Drawing.ColorTranslator.FromHtml( "#BAD8FF")'将来の日付'
                    ElseIf days = 0Then'現在の日付
                        '何もしない
                    終了する場合
                終了する場合

4

1 に答える 1

1

時間を切り捨てるDateプロパティを使用することをお勧めします。DateTime

Dim data = DirectCast(e.Row.DataItem, DataRowView)
Dim day As Date = data.Row.Field(Of Date)("Date").Date
Dim daysDiff As Int32 = (Now.Date - day).Days
于 2013-02-20T17:15:39.203 に答える