2
我想根據當前日期更改我的gridview上的背景顏色。下面的代碼是可行的,但未來的日期會以兩天後開始,而不是明天的一天。我是否在代碼中遺漏了某些東西,或者它應該進行不同的修改? 。 Gridview根據日期更改背景顏色
If e.Row.RowType = DataControlRowType.DataRow Then Dim data As DateTime = Convert.ToDateTime(DirectCast(e.Row.DataItem, DataRowView)("Date").ToString()) Dim diff As TimeSpan diff = DateTime.Now.Subtract(data) Dim days As Integer = diff.Days 'Yellow = past date/White = current date/Blue = future date If days > 0 Then e.Row.BackColor = Drawing.ColorTranslator.FromHtml("#FFFFBB") 'past date' ElseIf days < 0 Then e.Row.BackColor = Drawing.ColorTranslator.FromHtml("#BAD8FF") 'future date' ElseIf days = 0 Then 'present date 'do nothing End If End If
謝謝您的答覆。我在我的代碼中應用了你的建議,但在「Dim date As Date = data.Row.Field(Of Date)(」Date「)時出現錯誤。 ? – 2013-02-20 17:38:47
我使用你的建議解決了這個問題我修改了代碼Dim data As DateTime = Convert.ToDateTime(DirectCast(e.Row.DataItem,DataRowView)(「Date」)。ToString())Dim date As Date = data.Date Dim daysDiff As Int32 =(Now.Date - day).Days',它沒有產生任何錯誤,明天的日期現在以藍色突出顯示。我應該以不同的方式寫入它,還是保持它原樣? – 2013-02-20 18:00:28
@g_shockTan :爲什麼您將日期字段轉換爲字符串,然後回到日期,效率低下,並且可能導致本地化問題。您是否將日期存儲爲字符串? – 2013-02-20 20:45:38