谢谢

解决方案 »

  1.   

    绑定DataSet的时候作下转换,或直接在存储过程里写
      

  2.   

    对数据源遍历 替换相应.
    win or web ?如还有问题,请把你的代码贴上来.
      

  3.   

    to wxqq2001(就让我用一生等待) 
    我现在所做的操作就是用sql语句取出数据形成datatable绑定到datagrid中。现在想知道有没有可以什么办法转换数字到对应的文字
      

  4.   

    1.
    sql :select case when sex=1 then '男' else '女' end as sex from table2. web form
    在itemdatabind 中写
      

  5.   

    我看以前的帖子有个使用DataView中的IIF的方法,可是我怎么找不到呢?
      

  6.   

    sql :select case when sex=1 then '男' else '女' end as sex from table可以,试过
      

  7.   

    两种方法,一个是在写sql语句里面就做转化.另一种是重绘datagrid.
      

  8.   

    如果是Web的话
    <%# DataBinder.Eval(Container.DataItem, "sex")=="1"? "男":"女" %>
      

  9.   

    用sql语句的方法不是很容易实现,我想用重绘的方法,可是我该怎么做呢?
    我的程序是form的不是web的
      

  10.   

    http://community.csdn.net/Expert/TopicView.asp?id=3522038
      

  11.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=F73EF6AD-6878-4748-B963-5181252E5AED
      

  12.   

    mmqingfeng兄的方法很便捷呀,我这里也有一种做法:
    private void grdExamination_InitializeLayout(object sender,Infragistics.WebUI.UltraWebGrid.LayoutEventArgs e)
    {
    Infragistics.WebUI.UltraWebGrid.UltraGridColumn _columnVali ; if(this.grdExamination.Bands[1] != null)
    {
        _columnVali = this.grdExamination.Bands[1].Columns[13];
        _columnVali.Type = Infragistics.WebUI.UltraWebGrid.ColumnType.DropDownList;
        Infragistics.WebUI.UltraWebGrid.ValueList _valid = _columnVali.ValueList;
        _valid.ValueListItems.Add(0,"否");
       _valid.ValueListItems.Add(1,"是");
              }
              
    }
    我没有在form上试过,但我想应该是一样的,把指定列的类型改为DropDownList,每次从数据库中捞取出的值只要是ID号就可以了,现实时会自动匹配中文,也就不必更改sql语句了。
      

  13.   

    select case when sex=1 then '男' else '女' end as sex from table
      

  14.   

    1、<%# DataBinder.Eval(Container.DataItem, "sex")=="1"? "男":"女" %>
    2、select case when sex=1 then '男' else '女' end as sex from table
    都可以。
      

  15.   

    select  
    case sex
    when 1 then '男'  
    when 2 then '女' 
    else '保密' end  as sex
    from table
      

  16.   

    我做过相关的东西,private void grdData_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
    if (e.Item.ItemIndex < 0 ) return;
    if(e.Item[1].Cell.Text = "1") //这里是判断你的男女列值
    {
    e.Item[1].Cell.Text = "男";
    }
    else
    {
    e.Item[1].Cell.Text = "女";
    }
    }
      

  17.   

    如果是Winform的,用Lookup控件才是正经阿~~~
      

  18.   

    用sql语句的方法真好
    谢谢上面的各位了
    :)
      

  19.   

    最好的办法就是用sql拼装。oracle可以用decode
      

  20.   

    大家只说了SqlServer的写法case When . then ...when . then ...else end的结构如果是Access请用IIF()函数
      

  21.   

    SQL 语句中就可以转化过来的
      

  22.   

    谢谢大家,我的程序是form的,而且我不想用sql语句的方法
      

  23.   

    楼主可以考虑用datagrid的模版列;用combobox来实现,你只需指定
    DataSource、
    DisplayMember、ValueMember属性即可;
      

  24.   

    前台:
    <asp:TemplateColumn HeaderText="性别">
    <ItemTemplate>
    <asp:Label id="lbStatus" runat="server">
    <%# turnToflag(DataBinder.Eval(Container.DataItem,"性别").ToString())%>
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    调用后台转换函数:
    public string turnToflag(string Flag)
    {
    switch(Flag)
    {
    case "1":
    return "<font color=red>男</font>";
    case "2":
    return "<font color=blue>女</font>";
    default:
    return "<font color=red>无</font>";
    }
    }
      

  25.   

    windows程序也一样的,调用转换函数就可以了!
      

  26.   

    select case when sex=1 then '男' else '女' end as sex from table
      

  27.   

    楼主用数组吧
    protected string[] sex = {"女", "男"};这么绑定就行了:
    <%# sex[(int)DataBinder.Eval(Container.DataItem, "sex")] %>
      

  28.   

    再次声明,俺的程序是form的Not web!No web
      

  29.   

    基本解决,用的就是 _jfeng(静心) ( ) 的方法,绑定了combox再次谢谢大家
      

  30.   

    你在SQL查询语句稍微动下就可以了
    select case when sex=1 then '男' else '女' end as sex from table