GridView利用RowDataBound来转换要显示的内容

    最近有几个项目用asp.net开发,本来是打算用java的,但是感觉开发慢了,虽说自己已有很多ssh项目经验,也有集成好了的现成代码,开发起来也是轻车熟路了,但是再怎么论开发效率还是不如asp.net,更重要想换个技术试试,呵呵,这2天在Gridview上搞的时间比较多,也解决了很多问题,所以写点学习笔记,免得以后又忘记了。哈哈。

  

     有时候经常遇到这样的情况,在数据库中某个字段存放的是0或1,而在页面上展现时候肯定就不能显示0或1了,相信这样没人知道这是干嘛的。默认情况Gridview绑定后自动把数据库中存放的内容丢给Label显示,为了能让人看懂我们需要把它们转换下,比如1为“是”,0为“否”之类的:

 

在获取Cell的内容时候这里有点区别:

 

 1)当不是一个TemplateField时候使用:

    String t =  e.Row.Cells[6].Text //Cells的下标从0开始,当然还有其他方法,这里只是突简单,呵呵

 2)如果是TemplateField需要使用:

   ((Label) e.Row.Cells[6].FindControl("Label6")).Text; //我这里只是一个例子,具体要看你放的是什么控件来对应转换,如果是按钮就是Button等等。

 

代码
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
       
if (e.Row.RowType == DataControlRowType.DataRow)
      {
        
string label = ((Label)e.Row.Cells[6].FindControl("Label6")).Text;
         
if (label == "0")
         {
             e.Row.Cells[
6].Text = "";
         }
         
else
        {
              e.Row.Cells[
6].Text = "";
       }
     }
 }
                

 

 

 

posted @ 2010-02-09 21:34  唔愛吃蘋果  阅读(1669)  评论(0编辑  收藏  举报