有关DataGrid显示数据的问题 作者:Wawe 发表时间:2002-9-28 推荐程度: ★ 查看作者信息以及作者文集 作者:追风 经常碰到DataGrid中要显示一个数据,先要用IF语句判断其值,然后决定怎样显示.问题是,DataGrid中不可直接写条件语句,怎样实现呢?这里我用了两种方法。方法一:在把数据绑定到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()) %>