用Gridview显示的是数字,我现在要把数字型转化成文字显示,比如数字1就显示已完成,0就显示未完成,请问代码怎么处理?

解决方案 »

  1.   

    在数据库里 case when then
      

  2.   

    select  (case column when '0' then '未完成' when '1' then '已完成' end)as newcolumn from ....
      

  3.   

    <%# Eval("Fuck")==1?已完成:为完成%>
      

  4.   

    <%# Eval("字段")==1?已完成:为完成%>
      

  5.   

    <%# Eval("你数据库的字段").ToString().Equals("0") ? "未完成" : "已完成"%>
      

  6.   

    前台:
    <asp:GridView ID="GridMenus" DataKeyNames="MenuID" runat="server" 
         AutoGenerateColumns="false" onrowdatabound="GridMenus_RowDataBound">    //加上这个事件
           <Columns>
              <asp:TemplateField HeaderText="是否禁用">
               <ItemStyle Width="150px" HorizontalAlign="Center" />
                  <ItemTemplate><asp:Label ID="lbStatus" runat="server" Text='<%# Eval("IsStatus")%>'></asp:Label></ItemTemplate>
               </asp:TemplateField>
           </Columns>
     </asp:GridView>
    后台:
    protected void GridMenus_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                string sql = "";
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                   Label lbStatus = (Label)e.Row.FindControl("lbStatus");                
                    if (lbStatus.Text.Trim().ToString() != "")
                    {
                        if (lbStatus.Text.Trim().ToString() == "0")
                            lbStatus.Text = "禁用";
                        else if (lbStatus.Text.Trim().ToString() == "1")
                            lbStatus.Text = "启用";
                    }
                }
            }
      

  7.   


    上面说的不是很清晰啊,<%# Eval("a")=="1" ? "abc" : "null" %> Eval("a")是Object型的,所以要这样写
    Convert.ToInt32(Eval("a"))==1 ? "已完成" : "未完成"