怎么在绑定后动态改变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事件方法中进行操作,因为这个时候数据绑定了
|
还没有关于此文章的相关评论!