DataView (1): 利用RowDataBound来转换要显示的内容

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

   有时候经常遇到这样的情况,在数据库中某个字段存放的是0或1,而在页面上展现时候肯定就不能显示0或1了,相信这样没人知道这是干嘛的。默认情况Dataview绑定后自动把数据库中存放的内容丢给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等等。


 1 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 2 {
 3      if (e.Row.RowType == DataControlRowType.DataRow)
 5     {
 6       string label = ((Label)e.Row.Cells[6].FindControl("Label6")).Text;
 8        if (label == "0")
10         {
11             e.Row.Cells[6].Text = "";
12         }
13         else
14        {
15              e.Row.Cells[6].Text = "";
16       }
17      }
18 }
19                 
20 

 



posted @ 2009-03-11 15:10  yfeng  阅读(448)  评论(0编辑  收藏  举报