可以在SQL语句中用CASE WHEN 来处理

解决方案 »

  1.   

    可以如下操作:
    在DataGrid中这个字段做成模板列,放入一个Label控件,假设你的数据源的这个字段是sex,那么这个控件在页面的代码如下:
    <asp:Label id="sex" runat="server" text='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"sex"))==0 ? "女" : "男" %>' ></asp:Label>同样你也可以把text中的内容做成一个方法来返回:
    <asp:Label id="sex" runat="server" text='<%# DisplaySex(DataBinder.Eval(Container.DataItem,"sex") %>' ></asp:Label>然后编写DisplaySex如下:
    public string Display(object sex)
    {
        return Convert.ToInt32(sex)==0 ? "女" : "男";
    }还有其他的方法,比如在DataBound事件中对sex进行替换操作等等。
      

  2.   

    在datagrid的databind事件里(如果我没记错的话)对cell直接操作
             if  e.item.cells[0].text=='0'
                   {
                     e.item.cells[2].text='男';
                   }
    还可以在sql语句里加上case.
      

  3.   

    http://lucky_elove.www1.dotnetplayground.com/ShowDetail.aspx?id=F73EF6AD-6878-4748-B963-5181252E5AED