主页 > 知识库 > 网络编程 > ASP/.NET >

菜鸟时期的.net笔记[about GridView](2)

来源:中国IT实验室 作者:佚名 发表于:2013-07-12 12:17  点击:
3.格式化GridView 为什么要格式化GridView的数据? 有时候我们在GridView中显示的数据并不直接是数据库中存储的数据,打个比方,我们存储一个人的性别时,一般用1代表男性,0代表女性,但是我们在GridView中并不能直

3.格式化GridView  为什么要格式化GridView的数据?
  有时候我们在GridView中显示的数据并不直接是数据库中存储的数据,打个比方,我们存储一个人的性别时,一般用1代表男性,0代表女性,但是我们在GridView中并不能直接显示0或1,因此我们就需要格式化从数据库中读取的数据,也就是被绑定的数据源的数据。
  那怎么格式化GridView?
  (1)方法一:在GridView的绑定列中使用DataFormatString属性进行格式化
  eg:
  可以看到这一列用斜体字显示。
  (2)方法二:在GridView的模版列的绑定标签中直接使用各种运算和表达式进行格式化
  eg:
  (3)方法三:在GridView的模版列的绑定标签中调用后台方法进行格式化
  其实这个方法和方法二很相似,只是对数据的格式化代码放到后台而已。
  eg:
  后台代码:
  int DealData(string str)
  {
  return 0;
  }
  (4)方法四:在GridView的绑定事件处理方法RowDataBound中读取数据源的数据并为GridView赋值
  eg:
  GridViewRow gvr=e.Row;if(gvr.RowType == DataControlRowType.DataRow){
  string sUserName = DataBinder.Eval(gvr.DataItem,"UserName").ToString();
  gvr.Cells[0].Text = string.Format("{0}",sUserName);}
  我们可以从e.Row中直接得到当前绑定行的GridViewRow。注意,在GridView绑定的过程中每绑定一行 RowDataBound都会触发一次。然后,我们判断这个行是不是数据行(而不是页眉行或脚注行),如果是的话就可以从GridViewRow的 DataItem中获取数据行,在进行格式化后赋值给sUserName字符串,最后把字符串显示在GridViewRow的第一列即可。另外这里可以进 行各种权限判断,对不同的用户显示不同的数据。

有帮助
(0)
0%
没帮助
(0)
0%