扬帆出海,为了看到美美的日出日落。

HLH'blog

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
经常碰到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()) %>

posted on 2007-01-08 09:13  HLH  阅读(718)  评论(0)    收藏  举报