我的桌子有一个字段fld_status
。它包含值0和1. 0
表示有效,1
表示无效。但是我希望在Gridview中显示0
的有效全名。有没有办法在查询以外的Gridview
中更改此值0和1有意义的名称?
<asp:TemplateField ItemStyle-Width="40px" HeaderText="STATUS">
<ItemTemplate>
<asp:Label ID="lbl_status" runat="server" Text='<%# Eval("Fld_status")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="40px"></ItemStyle>
</asp:TemplateField>
在gridview STATUS列中显示0和1.我想仅显示基于o和1的活动和非活动。
答案 0 :(得分:2)
如果您使用TemplateField
:
<asp:TemplateField ItemStyle-Width="40px" HeaderText="STATUS">
<ItemTemplate>
<asp:Label ID="lbl_status" runat="server"
Text='<%# (Eval("Fld_status")==1) ? "active" : "inactive" %>'>
</asp:Label>
</ItemTemplate>
<ItemStyle Width="40px"></ItemStyle>
</asp:TemplateField>
或来自GridView的RowDataBound
:
protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRow row = ((DataRowView)e.Row.DataItem).Row;
bool isActive = row.Field<int>("Fld_status") == 1;
Label lbl_status = (Label) e.Row.FindControl("lbl_status");
lbl_status.Text = isActive ? "active" : "inactive";
}
}
答案 1 :(得分:1)
您可以在ItemTepmlate
中使用。
<ItemTemplate><%# Eval("Fld_status") ? "active" : "inactive" %></ItemTemplate>