我想让我的Gridview控件显示各种颜色的条件。一个人有个医疗约会。当一天到来的时候,我想要一个绿色的网格视图。我想要红色的日期,当一天已经过去了,从预产期和橙色,就像7天前的医疗日期。我只是设法修复它的绿色,显示当天的医学,但我有困难,因为其他条件。
这就是我现在所拥有的。如果根据到期日和当前相同的日期将行更改为绿色,则If语句的第一部分工作,但我不知道如何为上述其他条件设置if语句。请协助
If e.Row.RowType = DataControlRowType.DataRow Then
Dim row As DataRow = (CType(e.Row.DataItem, DataRowView)).Row
Dim DueDate As DateTime = row.Field(Of DateTime)(7)
If DueDate.Date = DateTime.Today Then
e.Row.Cells(0).BackColor = System.Drawing.Color.Green
e.Row.Cells(0).ForeColor = System.Drawing.Color.White
e.Row.Cells(1).BackColor = System.Drawing.Color.Green
e.Row.Cells(1).ForeColor = System.Drawing.Color.White
e.Row.Cells(2).BackColor = System.Drawing.Color.Green
e.Row.Cells(2).ForeColor = System.Drawing.Color.White
e.Row.Cells(3).BackColor = System.Drawing.Color.Green
e.Row.Cells(3).ForeColor = System.Drawing.Color.White
e.Row.Cells(4).BackColor = System.Drawing.Color.Green
e.Row.Cells(4).ForeColor = System.Drawing.Color.White
e.Row.Cells(5).BackColor = System.Drawing.Color.Green
e.Row.Cells(5).ForeColor = System.Drawing.Color.White
e.Row.Cells(6).BackColor = System.Drawing.Color.Green
e.Row.Cells(6).ForeColor = System.Drawing.Color.White
e.Row.Cells(7).BackColor = System.Drawing.Color.Green
e.Row.Cells(7).ForeColor = System.Drawing.Color.White
e.Row.Cells(8).BackColor = System.Drawing.Color.Green
e.Row.Cells(8).ForeColor = System.Drawing.Color.White
e.Row.Cells(9).BackColor = System.Drawing.Color.Green
e.Row.Cells(9).ForeColor = System.Drawing.Color.White
e.Row.Cells(10).BackColor = System.Drawing.Color.Green
e.Row.Cells(10).ForeColor = System.Drawing.Color.White
e.Row.Cells(11).BackColor = System.Drawing.Color.Green
e.Row.Cells(11).ForeColor = System.Drawing.Color.White
e.Row.Cells(12).BackColor = System.Drawing.Color.Green
e.Row.Cells(12).ForeColor = System.Drawing.Color.White
e.Row.Cells(13).BackColor = System.Drawing.Color.Green
e.Row.Cells(13).ForeColor = System.Drawing.Color.White
ElseIf Day(DateTime.Now) > 1 Then
e.Row.Cells(0).BackColor = System.Drawing.Color.Orange
e.Row.Cells(0).ForeColor = System.Drawing.Color.White
e.Row.Cells(1).BackColor = System.Drawing.Color.Orange
e.Row.Cells(1).ForeColor = System.Drawing.Color.White
e.Row.Cells(2).BackColor = System.Drawing.Color.Orange
e.Row.Cells(2).ForeColor = System.Drawing.Color.White
e.Row.Cells(3).BackColor = System.Drawing.Color.Orange
e.Row.Cells(3).ForeColor = System.Drawing.Color.White
e.Row.Cells(4).BackColor = System.Drawing.Color.Orange
e.Row.Cells(4).ForeColor = System.Drawing.Color.White
e.Row.Cells(5).BackColor = System.Drawing.Color.Orange
e.Row.Cells(5).ForeColor = System.Drawing.Color.White
e.Row.Cells(6).BackColor = System.Drawing.Color.Orange
e.Row.Cells(6).ForeColor = System.Drawing.Color.White
e.Row.Cells(7).BackColor = System.Drawing.Color.Orange
e.Row.Cells(7).ForeColor = System.Drawing.Color.White
e.Row.Cells(8).BackColor = System.Drawing.Color.Orange
e.Row.Cells(8).ForeColor = System.Drawing.Color.White
e.Row.Cells(9).BackColor = System.Drawing.Color.Orange
e.Row.Cells(9).ForeColor = System.Drawing.Color.White
e.Row.Cells(10).BackColor = System.Drawing.Color.Orange
e.Row.Cells(10).ForeColor = System.Drawing.Color.White
e.Row.Cells(11).BackColor = System.Drawing.Color.Orange
e.Row.Cells(11).ForeColor = System.Drawing.Color.White
e.Row.Cells(12).BackColor = System.Drawing.Color.Orange
e.Row.Cells(12).ForeColor = System.Drawing.Color.White
e.Row.Cells(13).BackColor = System.Drawing.Color.Orange
e.Row.Cells(13).ForeColor = System.Drawing.Color.White
End If
End If
发布于 2019-05-31 01:03:14
date.Now.addDays(7)
晚7天的日期并检查是否提前,请与进行比较date.Now.addDays(-1)
发布于 2019-05-31 01:19:24
如果必须使整行的颜色相同,则不需要按单元格着色。请用。
e.Row.BackColor = System.Drawing.Color.Green;
e.Row.ForeColor = System.Drawing.Color.White;
发布于 2019-05-31 00:27:01
您可以按照以下方式使用方法后面的代码:
在GridView中添加模板列如下所示:
<asp:TemplateField HeaderText="Due Date">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("DueDate") %>'
Style='<%# GetColorStyles(0, Eval("DueDate"))%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
并对每个单元格使用以下方法:
Function GetColorStyles(ByVal cellindex As String, ByVal DueDate As DateTime) As String
Dim RES As String = "color:#000000" 'default color
If DueDate.Date = DateTime.Today Then
RES = "color:#00FF00"
ElseIf Day(DateTime.Now) > 1 Then
RES = "color:#FF0000;"
End If
Return RES
End Function
https://stackoverflow.com/questions/56390851
复制相似问题