0

私はGridViewを持っています。

 <asp:GridView ID="GridView1" runat="server"  
                        AutoGenerateColumns="False">
                        <Columns>                           
                           <asp:BoundField DataField="status" HeaderText="status" ItemStyle-Width="100px" > <ItemStyle Width="100px"></ItemStyle>
                          </asp:BoundField>

                        </Columns> 
</asp:GridView>  

コードビハインド

GridView1.DataSource = DataTable1;
GridView1.DataBind();

aspx ファイルに c# コードを書きたいと思います。たとえば、次の if status == 0 then set column value is equal to 'zero'; status == 1 の場合、列の値を「1」に設定します。

変更方法

<asp:BoundField DataField="status" HeaderText="status" ItemStyle-Width="100px" > <ItemStyle Width="100px"></ItemStyle>
</asp:BoundField>

上記のアルゴリズムが機能するように?ありがとう!

4

1 に答える 1

2

たとえば、次のようにテンプレート フィールドを使用します。

<asp:TemplateField HeaderText="Status">
            <ItemTemplate>
                <%# ReturnText(Eval("Status")) %>
            </ItemTemplate>
</asp:TemplateField>

C#コードビハインドで

protected string ReturnText(object val)
{
   if(val!=null)
   {

      if(val.ToString().Equals("1")) {return "one"; }
      else if(val.ToString().Equals("0")) {return "zero";}
   }
   return "";
}

もう 1 つのオプションは、SQL クエリからテキストを返すことです。

SELECT STATUS, 
CASE STATUS WHEN 1 THEN 'One' WHEN 0 THEN 'Zero' END As Status_Text
FROM YourTable

次に、列 status_text をバインドされたフィールドにバインドできます。

于 2013-02-17T14:38:16.220 に答える