c# dataGridView中 如何吧数据库中的 性别 0 1 显示成 男女 

解决方案 »

  1.   

    在邦定字段的列上加个方法,去判断他的值。就可以实现
    比如
    方法一定要用public开头
    如:public string GetSex(object value)
     {
        if(value.ToString() == "1")
          {
              return "女";
          }
        else
          {
              return "男";
           }
     }
    用法帮邦定数据的地方
    GetSex(Eval("sex"))就可以
    其中sex为字段名
      

  2.   

    把数据库的性别一项设为模版列。
    找到模版列中的该项的label
    如果是label1
    在RowDataBound中写一下代码
     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if ((e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState ==
                DataControlRowState.Normal) || (e.Row.RowType ==
                DataControlRowType.DataRow && e.Row.RowState ==
                DataControlRowState.Alternate))
            {
                  //cells[3]未该项未第几列,下标从哦、0开始
                Label la = ((Label)e.Row.Cells[3].FindControl("Label1"));
                if (la.Text == "1")
                {
                    la.Text = "男";
                }
                else
                {
                    la.Text = "女";
                }
            }
        }
      

  3.   

     foreach (DataGridViewRow row in this.dataGridView1.Rows)

    int sex = int.Parse(row.Cells["SEX"].Value.ToString());
    if ()
    {}
    else 
    {}
    }
    其实就是遍历或者在sql里处理,case when 
      

  4.   

    select name,id,sex =case sex when 1 then '男' else '女' end from table
      

  5.   

    楼主可以在绑定的时候用SQL语句做判断,即在配置SqlDataSource时使用用户自定义的SQl语句或存储过程 
    SQL code
    SELECT CASE sex
                WHEN 1 THEN '男'
                ELSE '女'
           END AS sex
    FROM Sex这样在dropdownlist里就显示中文的了 否则就需要判断一下dropdownlist的值,然后再重新绑定,这样就比较麻烦了
      

  6.   

    你用个 DataGridViewComboboxColumn 来显示那个字段, 为这个列指定一个字典表,
    例子代码参考:
    ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/CPref17/html/T_System_Windows_Forms_DataGridViewComboBoxColumn.htm
      

  7.   

    SELECT CASE sex
                WHEN 1 THEN '男'
                ELSE '女'
           END AS sex
    FROM Sex
      

  8.   

    呵呵,amandag的经典绝招Text = '<%# Convert.ToInt32(Eval("字段名"))==1 ? "男" : "女" %>'
      

  9.   

    模板项
    <%#Eval("Sex").ToString()=="1"?"男":"女"%>
      

  10.   

    如果是oracle用decode也可以 select col1,decode(col2,1,'男',0,'女')
      

  11.   

    是winform吗
    直接在Cell_Formating事件里
    if (e.ColumnIndex==SexColumn.Index)
      if (e.Value==0)
        e.Value="男"
      else
        ...
      

  12.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
        { 
            if ((e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == 
                DataControlRowState.Normal) || (e.Row.RowType == 
                DataControlRowType.DataRow && e.Row.RowState == 
                DataControlRowState.Alternate)) 
            { 
                  //cells[3]未该项未第几列,下标从哦、0开始 
                Label la = ((Label)e.Row.Cells[3].FindControl("Label1")); 
                if (la.Text == "1") 
                { 
                    la.Text = "男"; 
                } 
                else 
                { 
                    la.Text = "女"; 
                } 
            } 
        }最好用
    SELECT CASE sex
                WHEN 1 THEN '男'
                ELSE '女'
           END AS sex
    FROM Sex
      

  13.   

    方法一,可以通过SQL查询语句:SELECT CASE sex WHEN 1 THEN '男' ELSE '女' END AS sex FROM table
    方法二,也可以到相应的行绑定事件,通过判断单元内容变更显示内容。  
      

  14.   

    不好意思 忘说了 是在winform 里
    不是web