方法一:在把数据绑定到DataSet后,更改里面的数据,例如: 
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn); 
 DataSet ds=new DataSet(); 
 myCmd.Fill(ds,"操作员"); 
 for(int i=0;i<ds.Tables[0].Rows.Count;i++) 
 { 
  if(ds.Tables[0].Rows[i]["Oper_state"].ToString()=="1") 
   ds.Tables[0].Rows[i]["Oper_state"]="有效"; 
  else if(ds.Tables[0].Rows[i]["Oper_state"].ToString()=="0") 
   ds.Tables[0].Rows[i]["Oper_state"]="冻结"; 

MyDataGrid.DataSource=ds.Tables["操作员"].DefaultView; 
MyDataGrid.DataBind(); 
方法二:通过写一个函数,把绑定到DataGrid某一列的数据转化成要显示字符串,例如: 
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn); 
 DataSet ds=new DataSet(); 
 myCmd.Fill(ds,"操作员"); 
MyDataGrid.DataSource=ds.Tables["操作员"].DefaultView; 
MyDataGrid.DataBind(); 
在DataGrid摸版列里这样绑定数据: 
<%# TurnToStatus(DataBinder.Eval(Container.DataItem,"Oper_state").ToString()) %>   

解决方案 »

  1.   

    您可以在sql语句中处理好,在绑定时不需要做特别处理
      

  2.   

    你可以考虑用SQL语句来实现你底功能。用SQL提取出数据,直接绑定就行了。
    case columnName when 1 then 'first' when 2 then 'two' end case
      

  3.   

    这样子做不是比较简单:
    使用sql语句,比如用户输入1时,你就比数据库选出first:
    select first as youwant from youtable;
    2时选two;
    select two as youwant from youtable;
    这样你在绑定显示数据时同样使用youwant 这个别名来显示字段。而且也不会选出多余的字段!
      

  4.   

    to  letian:
    谢谢你,我原来也是用第二种方法,但是忘了加ToString()
    现在成功了,结帖