1

フィールドを持つ私のテーブルfld_status。値 0 と 1 を保持します。0はアクティブであることを意味し、非アクティブであることを意味し1ます。しかし、グリッドビューでアクティブのような意味のフルネームを表示したい0Gridviewクエリ以外でこの値 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>

グリッドビューの STATUS 列に 0 と 1 を表示します。o と 1 に基づいてアクティブと非アクティブのみを表示したい。

4

2 に答える 2

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"; 
    }
}
于 2012-12-05T10:11:16.193 に答える
1

で使用できますItemTepmlate

<ItemTemplate><%# Eval("Fld_status") ? "active" : "inactive" %></ItemTemplate>
于 2012-12-05T10:13:12.123 に答える