【发布时间】:2017-03-20 16:26:18
【问题描述】:
在我的网页中,我有一个 gridview,如果此代码中显示了某个元素,我已经设置了每一行的前景色和背景色
Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim row As TableRow = e.Row
Dim estado As String = (e.Row.Cells(6).Text).ToString
If estado = "" Or estado = "Indefinido" Then
row.BackColor = Color.White
row.ForeColor = Color.Black
ElseIf estado = "Presenças" Then
row.BackColor = Color.LightGreen
row.ForeColor = Color.Black
ElseIf estado = "Falta" Then
row.ForeColor = Color.Red
ElseIf estado = "Suspenso" Then
row.BackColor = Color.LightGray
row.ForeColor = Color.DarkGray
ElseIf estado = "Cancelado" Then
row.BackColor = Color.Red
row.ForeColor = Color.Black
ElseIf estado = "Efectuado" Then
row.BackColor = Color.White
row.ForeColor = Color.Green
End If
End If
End Sub
所以当我尝试更改所选行的背景色时,我的问题就开始了,所以我想要的是,当我选择一行时,背景色变为蓝色,前色变为白色,但是已经有背景色的行例如estado = "Cancelado" 已经将其背面颜色设置为红色,选中后,即使边框发生变化,行背面颜色仍保持红色。
这是更改所选行颜色边框和前景色的 asp.net 代码:
<asp:GridView ID="dgvMarcacoes" runat="server" OnRowDataBound = "OnRowDataBound" style="width:100%" AutoGenerateSelectButton="True">
<SelectedRowStyle ForeColor="White" BorderColor="#6666FF" BorderStyle="Solid" BackColor="#6666FF" />
</asp:GridView>
那么有谁知道我怎样才能让选择的背景颜色覆盖已经设置的颜色?谢谢
【问题讨论】: