根据值设置一个字段和行的gridview文本格式
我有以下代码来改变网格视图中行的颜色。这很好,我尝试做的是将日期返回值的文本颜色(如果相同)更改为行的相同颜色,因此无法看到值 有人能帮忙吗根据值设置一个字段和行的gridview文本格式,gridview,Gridview,我有以下代码来改变网格视图中行的颜色。这很好,我尝试做的是将日期返回值的文本颜色(如果相同)更改为行的相同颜色,因此无法看到值 有人能帮忙吗 Protected Sub KitNotReturned(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound If e.Row.RowType = DataControlRowType.D
Protected Sub KitNotReturned(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim dateLoaned As String = DataBinder.Eval(e.Row.DataItem, "DateLoaned")
Dim dateReturend As String = DataBinder.Eval(e.Row.DataItem, "DateReturned")
If dateLoaned = dateReturend Then
e.Row.BackColor = Drawing.Color.HotPink
End If
End If
End Sub
谢谢好的-现在我明白了!为gridview列设置枚举通常是个好主意-例如:
Enum GvColumn
Id = 0
Name = 1
...
DateReturned = 4
End Enum
然后,您可以将该列称为:
e.Row.Cells(GvColumn).ForeColor
这使得您在添加/删除列时不太可能出现错误,前提是您使枚举保持最新。
当然,另一种方法是将单元格的text属性设置为空字符串:
e.Row.Cells(GvColumn).Text=""
最后,您可以将该列设置为模板列,然后使用FindControl在其中查找文本框。模板列将如下所示:
<asp:TemplateColumn Header="Something here">
<ItemTemplate>
<asp:textbox id="txtDateReturned" runat="server" text=='<%# Bind("DateReturnedText") %>' />
</ItemTemplate>
</asp:TemplateColumn>
只是一些想法 不太清楚你在问什么,如果你说这工作正常?我必须更改行颜色的代码工作正常,我只想添加一些东西来更改数据项DateReturned文本的颜色。我已经使用e.row.Cells(4)完成了这项操作。ForeColor=Drawing.Color.HotPink thanksOK-现在我明白了!为gridview列设置枚举通常是个好主意-例如:
Dim tb as TextBox = CType(e.Row.FindControl("txtDateReturned"),TextBox)