将SQL数据为数字时显示给用户的文本更改为可读字符串
本文关键字:文本 字符串 给用户 数据 SQL 数字 显示 | 更新日期: 2023-09-27 18:12:46
我试图改变显示的文本,当我有gridView填充从SQL抓取的数据。目前在数据库中的值:0,1,2存储为我的条目,但我需要有这些显示为"春,夏,秋"。有没有办法从代码背后做到这一点?
下面是我的代码:
<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="false" DataKeyNames="season">
<Columns>
<asp:TemplateField HeaderText="Season" ControlStyle-CssClass="semID">
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%# Bind("season") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("season") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
...
...
</Columns>
</asp:GridView>
我试过做一个RowDataBound函数,但据我所知,它从来没有火灾。或者它改变了,但不改变文本值。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (drv["Season"].ToString() == "0")
{
e.Row.Cells[0].Text = "Spring";
}
else if....for 1 and 2 similar to above.
}
}
尝试在RowDataBound事件中设置一个断点并调试以确定它是否触发。此外,您是否添加了OnRowDataBound="GridView1_RowDataBound"
属性到GridView定义?