苏飞论坛

标题: c# 数据库中性别数据为1 0,在dataGridView需要显示为男 女 [打印本页]

作者: huanghua1234    时间: 2012-11-3 14:32
标题: c# 数据库中性别数据为1 0,在dataGridView需要显示为男 女
   各位大家好,呵呵,发一菜鸟贴。
   c# 数据库中性别数据为1 0,在dataGridView需要显示为男 女
   处理步骤如下:
  1、从工具栏拖出一个datagridview ,绑定要显示字段(绑定性别一列 假设l列名为Sex  visible设为false)。
2、 额外加一列(列名为SexName用于显示男女)
3、从数据库从刷选出要显示的数据
         dataset dt=new dataset();
        ......此处省略sql语句
         dcomm.fill(dt,"one")
         datagridview.datasource=dt.table("one");
   4、datagridview_DataBindingComplete()方法里处理
      .........
      foreach(datagridviewrow dgvr in datagridview.Rows)
     {
           if(dgvr.Cells["Sex"].value+""=="0")
              dgvr.Cells["SexName"].value="女";
           else
               dgvr.Cells["SexName"].value="男";   
     }
    我已经试用成功。
   

作者: huanghua1234    时间: 2012-11-3 14:34
追加 :
2、 额外加一列(列名为SexName用于显示男女)
额外增加的这一列不绑定字段
作者: 站长苏飞    时间: 2012-11-3 14:45
你的方法可以解决这个问题,但是不建议这样坐,建议你在绑定之前处理,就是在sql里处理
作者: huanghua1234    时间: 2012-11-3 15:14
在数据库中我不知道怎么处理,大侠帮帮忙
作者: 站长苏飞    时间: 2012-11-3 16:19
你查一下数据库怎么使用case语句就明白了,大致是,select (case sex when 1 then  男  else  女  end) as sex from  table
作者: huanghua1234    时间: 2012-11-4 09:32
明白,谢谢
作者: weiyz2011    时间: 2012-12-20 14:40
将你的判断写进存储过程中要好些
作者: 站长苏飞    时间: 2012-12-20 15:12
weiyz2011 发表于 2012-12-20 14:40
将你的判断写进存储过程中要好些

是的建议在存储过程完成
作者: SuperMan    时间: 2013-4-25 17:45
  也可以, 写个方法判断一下啊! 很简单。
作者: hongbingli    时间: 2013-9-19 18:44
不用这么复杂了,直接SQL语句就搞定了。
Case P_Sex WHEN '1' THEN '男' Else '女' End As P_Sex
作者: 罪若花开丿    时间: 2016-3-18 17:43
不是可以用枚举吗?
作者: 竹林风    时间: 2018-12-30 22:31
我只是路过打酱油的。




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4