在CS文件写个这样的函数
public string GetThreadsex(string sex) {
string[] type=sex.Split(new char[] {','});
if(int.Parse(type[0])==1)
{
return "男";
}
else
{
return "女";
}
}然后在ASPX里面 <asp:Label id="Label1" runat="server" Text='<%# GetThreadsex(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>'>大概就这样吧

解决方案 »

  1.   

    protected void FormatDataGrid_ItemDataBound(object source, 
    System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
          //  确保处理的是数据行,而不是Header或者Footer
          if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
          {
            //  得到sex字段的值
            string isManager = (string)DataBinder.Eval(e.Item.DataItem, ""sex"");        if (isManager == ""1"")
            {
              // '  设定文字和背景颜色
            e.Item.Cells[2].Text = ""男""
            }
            else
            {
              e.Item.Cells[2].Text = ""女"";
            }
          }
        }
      }
      

  2.   

    在SQL语句中写:
    case when sex=1 then '男' when sex=0 then '女' else '男' end
      

  3.   

    Sql是方便,不过我的程序不允许这样作.
    先试第一种
    <asp:Label id="Label1" runat="server" Text='<%# GetThreadsex(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>'>
    应该放到哪里?是放到form 里就行,还是放到DataGrid标记里?
      

  4.   

    二楼的方法我推荐!上面在HTML中绑定方法比较麻烦
      

  5.   

    用模板列
    <asp:TemplateColumn HeaderText="性别">
    <ItemTemplate>
    <%# DataBinder.Eval(Container, "DataItem.Sex").ToString()=="1"?""男":"女" %>'  </ItemTemplate>
    </asp:TemplateColumn>
      

  6.   



    <asp:TemplateColumn>
    <ItemTemplate><asp:Label id="Label1" runat="server" Text='<%# GetThreadsex(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>'>
    </ItemTemplate></TemplateColumn>
      

  7.   

    放这
    <asp:TemplateColumn HeaderText="性别" >
    <ItemTemplate>
    <asp:Label id="Label1" runat="server" Text='<%# GetThreadsex(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>'>
    </ItemTemplate>
    </asp:TemplateColumn>