GridView数据绑定之后,其中的一个字段,在数据库中值为0或1(0代表女,1代表男)
能不能直接在GridView中显示男或女?不能的话有什么其他的简单的好办法?谢谢

解决方案 »

  1.   

    用模板列勒,然后用三元运算。<%#Eval("sex") == "0"?"女":"男"%>
      

  2.   

    或者在SQL查询的时候处理掉勒select ...
    case sex
    when 0 then ‘女’
    when 1 then ‘男’
    end
    from ...
      

  3.   


     <asp:TemplateField HeaderText="性别">
            <ItemTemplate>
                  <span><%# Eval("sex").ToString()=="0"?"女":“男”%></span>
             </ItemTemplate>
     </asp:TemplateField>
    不过我建议你还是在业务逻辑层处理好了,然后将处理好的数据显示在WEB层
    各层的业务功能要分清,不要混在一起,不然分三层或多层都没有意义
      

  4.   

    第一种方法:绑定后台函数
    <%# GetSex(DataBinder.Eval(Container.DataItem,"列名").ToString()) %>protected string GetSex(string Title)
    {
    if (Title=="0")
    {
    return "男";
                            }  
                          return "女";                }  第二种: <asp:TemplateField HeaderText="性别">
            <ItemTemplate>
                  <span><%# Eval("sex").ToString()=="0"?"女":“男”%></span>
             </ItemTemplate>
     </asp:TemplateField>
      

  5.   

    2楼正解<%#(Eval("Sex") == "0")?"男":"女"%>
      

  6.   

    可以直接在查询语句中处理.
    oracle   中   
          select   decode(to_char(sex),'1','男','2','女')   from   tablename   
      sql   server   等中可以用   
          select   case   sex   when   '1'   then   '男'   when   '2'   then   '女'   from   tablename   
      

  7.   

    不好意思,在SQL Server中这句少了一个end
    呵呵,应该是select case sex when '1' then '男' when '2' then '女' end from tablename