设置gridview字段的别名

时间:2012-12-05 10:02:23

标签: c# asp.net c#-4.0

我的桌子有一个字段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的活动和非活动。

2 个答案:

答案 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>