2012-12-05 32 views
1

我的表有一個字段fld_status。它保存值0和1. 0表示有效,1表示無效。但是我想在Gridview中顯示全名,例如0。除查詢以外,是否有任何方法可以在Gridview中更改此值0和1有意義的名稱?設置gridview字段的別名

<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的狀態欄顯示爲0和1。我想基於O和1

+0

顯示您的GridView的aspx。 –

回答

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"; 
    } 
} 
+0

我們需要'.ToString()'嗎?它不能像'<%#Eval(「Fld_status」)? 「active」:「inactive」%>'? – Kaf

+0

字段名稱是'Fld_status' – Kaf

+0

@Kaf:相應地編輯我的答案。 –

1

您可以在ItemTepmlate

<ItemTemplate><%# Eval("Fld_status") ? "active" : "inactive" %></ItemTemplate> 
+0

我認爲它可以像'<%#Eval(「Fld_status」)? 「active」:「inactive」%>'?不是嗎? – Kaf

+0

@Kaf Yep,編輯。 –