2

GridView があり、status という名前の列があります。この列に値を表示する際に、itemtemplate を使用しました。現在、EVAL の値の結果を表示していますが、eval の値に基づいてテキストを表示したいと考えています。

 <asp:GridView ID="GridView1" runat="server"/>
 <Columns>
    <asp:TemplateField HeaderText="Status">
       <ItemTemplate>
        <%# Eval("ICB_SUBS_STATUS")%>
       </ItemTemplate>
       <EditItemTemplate>
           <asp:DropDownList ID="DropDownList1"  runat="server" SelectedValue='<%# Eval("ICB_SUBS_STATUS")%>'>
           <asp:ListItem Value = '0'>Applet not installed.</asp:ListItem>
           <asp:ListItem Value = '1'>ICB Service not activated. Applet installed.</asp:ListItem>
           <asp:ListItem Value = '2'>Active ICB Subscriber. Applet installed.</asp:ListItem>
           <asp:ListItem Value = '3'>Subscriber deactivated ICB. Applet installed.</asp:ListItem>
           </asp:DropDownList>
       </EditItemTemplate>
    </asp:TemplateField>
 </Columns>
</asp:GridView>

上記の場合と同様に、編集テンプレートでは、値に基づいてドロップダウンリストのテキストが表示されます。また、グリッドビューの通常表示にテキストを表示したい。どんなアイデアや提案もとても役に立ちます!! 私の英語が下手ならごめんなさい!

4

1 に答える 1

5

この値を人間が読める文字列に変換するメソッドをコード ビハインドで作成します。

protected string Translate_ICB_SUBS_STATUS(int ICB_SUBS_STATUS)
{
    switch (ICB_SUBS_STATUS)
    {
        case 0:
             return "Applet not installed.";
        case 1:
             return "ICB Service not activated. Applet installed.";
        ...

    }
}

次に、バインディングでメソッドを使用します

<ItemTemplate>
<%# this.Translate_ICB_SUBS_STATUS(Int32.Parse(Container.DataItem("ICB_SUBS_STATUS").ToString())) %>
</ItemTemplate>
于 2013-02-06T07:12:30.887 に答える