Username: Password:

怎么在绑定后动态改变DataGrid中的内容-.NET教程,数据库应用
来源:作者: 发布时间:2007-12-25 13:38:18


在应用中,很多时候需要在绑定以后去修改datagrid的呈现,比如
(1)当数据符合一定的条件需要修改他的呈现方式
(2)将数据库中的逻辑值(0,1)变成男女来呈现等等
大致有2种方法来实现上述操作
(1)在itemdatabound中修改值
(2)在绑定的时候用一个函数进行过虑
同样,数据库按照 http://blog.csdn.net/lovecherry/archive/2005/02/25/301441.aspx
我们来实现以下2个功能
(1)在itemdatabound中把年龄小于30的人的一行底色修改为粉红色
代码如下
private void datagrid1_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
  {
   if(e.item.itemtype==listitemtype.item||e.item.itemtype==listitemtype.alternatingitem||e.item.itemtype==listitemtype.edititem)
   {
    if(convert.toint16(databinder.eval(e.item.dataitem,"iage"))<30)e.item.backcolor=color.pink;
   }
  }
当然需要注册事件
this.datagrid1.itemdatabound += new system.web.ui.webcontrols.datagriditemeventhandler(this.datagrid1_itemdatabound);
(2)把姓名为“朱晔”的人,用加重显示
前台代码
<%#databinder.eval(container.dataitem,"vname") %>
修改为
<%# myfunc(databinder.eval(container.dataitem,"vname")) %>
后台代码
protected string myfunc(object s)
  {
   string _s;
   if(s.tostring()=="朱晔")
    _s=""+s.tostring()+"";
   else
    _s=s.tostring();
   return _s;
  }

以上2种功能也就是我上面说的大致有2种方法来实现上述操作
就这么简单。
对于其他的一些相关扩展就不细说了
比如根据一个值来改变一些控件的属性:
假如控件是模板列中的能够通过((控件类型)e.item.findcontrol(id)).属性=值 来动态设定;
假如控件不是模板列中的能够通过((控件类型)e.item.controls[索引号]).属性=值 来动态设定
还比如根据一个列的值来写其他列的统计值,都相同的
在itemdatabound事件方法中进行操作,因为这个时候数据绑定了

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅