2012-12-05 4 views
1

내 테이블의 필드가 fld_status 인 테이블. 값 0과 1을 유지합니다. 0은 활성을 의미하고 1은 비활성을 의미합니다. 그러나 나는 0에 대한 활성과 같은 의미의 이름을 Gridview에 표시하려고합니다. 쿼리가 아닌 Gridview에서 0과 1의 의미있는 이름을이 값을 변경할 수있는 방법이 있습니까?gridview 필드의 별칭 이름 설정

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

또는에서 : 나는 당신이 TemplateField를 사용하는 경우 O과 1

+0

GridView의 aspx를 보여줍니다. –

답변

2

에 따라 활성 및 비활성 표시 할 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의 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")와 같을 수 없습니까? "활성": "비활성"%>'? – Kaf

+0

필드 이름은'Fld_status'입니다. – Kaf

+0

@Kaf : 그에 따라 내 답변을 수정했습니다. –

1

에서 사용할 수 있습니다..

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

나는 그것이 <% # Eval ("Fld_status")와 같을 수 있다고 생각한다. "활성": "비활성"%>'? 안 그래? – Kaf

+0

@Kaf Yep, edited. –