数据库里字段名为type,它的值有1、2、3.
绑定到GridView
现在如果值是1,则显示A,值是2,则显示B,值是3则显示C
大家是如何实现的?

解决方案 »

  1.   

    在数据库中用case when先做转换。
      

  2.   

    绑定事件里进行处理,或者
    <%#ShowLitter(Eval("type").ToString())%>
    public String ShowLitter(string s)
    {
     if(s=="1") return "A";
    ....
    }
      

  3.   

    select case type
    case 1
    return A
    case 2
    return B
    case 3
    return C这事VB代码,转换成C#同理,switch case语句
      

  4.   

    在grvData_RowDataBound中做修改//n 表示 字段所在列数
    e.ros.Cells[n] = "";
      

  5.   

     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
     {
       if (e.Row.RowType == DataControlRowType.DataRow)
       {
           string tp = e.ros.Cells[n];
           switch(tp)
           {
               case "1" : e.ros.Cells[n] = "A";break;
               case "2" : e.ros.Cells[n] = "B";break;
               case "3" : e.ros.Cells[n] = "C";break;
           }
       }
     }
      

  6.   

    以上有一点错误
    将 e.ros.Cells[n] 改为 e.ros.Cells[n].Text
      

  7.   

    第一种:
    用模板列,在RowDataBound事件里:
    如:Lable labType = (Label)e.Rows.FindControl("labType");
        swith(labType.Text)
        {
            case "1":
               labType.Text = "A";
               break;
             case "2":
              .......
        }第二种:通过sql
    select (case when type='1' then 'A' when type='2' then 'B' end) as type from table1
      

  8.   

    如果type值仅为值有1、2、3.则建议2楼的方法,如果是1、2、3.....的话可以采取如下:
    <%#ShowLitter(Int32.Convert(Eval("type").ToString()))%> 
    public String ShowLitter(int num) 

      string letter = "abcdefghijklmnopqrstuvwxyz";
            Dictionary<int, string> dic = new Dictionary<int, string>();
            for (int ii = 1; ii <= 26; ii++)
                dic.Add(ii, letter.Substring(ii - 1, 1));
            if (dic.ContainsKey(num)) return dic[num];
            return "";
    }
      

  9.   

    一般用2楼的方法。我的代码如下:
     /// <summary>
        /// 设置公告所属平台的显示。
        /// </summary>
        /// <param name="typeid"></param>
        /// <returns></returns>
        public static string setTypeName(int typeid)
        {
            string typename = "";
            switch (typeid)
            {
                case 1:
                    typename = "询报价";
                    break;
                case 2:
                    typename = "人才库";
                    break;
                case 3:
                    typename = "专属服务";
                    break;
                case 4:
                    typename = "监管中心";
                    break;
                case 5:
                    typename = "咨询平台";
                    break;
                case 6:
                    typename = "贸易平台";
                    break;
            }
            return typename;
        }
    绑定的时候:
      <%#setTypeName(Convert.ToInt32(Eval("TypeId"))) %>
      

  10.   

    <#% Eavl("").ToString()=="1"?"A":(Eval("").ToString(()=="2:"B:"C")%>

    <%#A(Eval("type").ToString())%> public String A(string s) 
    {
    string str=""; 
    switc(s)
    {
    case "1": str="A";break; 
    case "2": str="B";break; 
    case "3:str="c;break; 
    default:break;
    }
    return str;
    }