惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
IT之家
IT之家
Last Week in AI
Last Week in AI
J
Java Code Geeks
L
LangChain Blog
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
博客园 - Franky
博客园 - 司徒正美
月光博客
月光博客
博客园 - 叶小钗
Vercel News
Vercel News
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
B
Blog RSS Feed
人人都是产品经理
人人都是产品经理
H
Help Net Security
G
Google Developers Blog
D
DataBreaches.Net

博客园 - 〆o殺殸纨o〆

用户中心 - 博客园 用户中心 - 博客园 面试题集锦(二)【转载】 面试题集锦(一)【转载】 用户中心 - 博客园 用户中心 - 博客园 袁岳:大学生职业准备八指标和36条人情世故【转载】 WITH AS【原创】 ISNULL(expression,replace_value)【原创】 $IDENTITY【原创】 自定义实体类【转载】 高清论坛思路新网址 软件项目开发流程以及人员职责【转载】 VS2005如何生成注释文档【原创】 - 〆o殺殸纨o〆 - 博客园 启用Code Snippet功能【转载】 DATEDIFF GETDATE DELETE TRANSACTION【转载】 TEXTVALID SET TEXTSIZE DATALENGTH【转载】 READTEXT WRITETEXT UPDATETEXT【转载】 OBJECTPROPERTY OBJECT_ID TEXTPTR【转载】
怎么在绑定后动态改变DataGrid中的内容【转载】
〆o殺殸纨o〆 · 2008-11-13 · via 博客园 - 〆o殺殸纨o〆

在应用中,很多时候需要在绑定以后去修改DataGrid的呈现,比如
1)当数据符合一定的条件需要修改它的呈现方式
2)将数据库中的逻辑值(01)变成男女来呈现等等
大致有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="<b>"+s.ToString()+"</b>";
else
_s=s.ToString();
return _s;
}
以上2种功能也就是我上面说的大致有2种方法来实现上述操作
就这么简单。
对于其他的一些相关扩展就不细说了
比如根据一个值来改变一些控件的属性:
如果控件是模板列中的可以通过((控件类型)e.Item.FindControl(id)).属性= 来动态设定;
如果控件不是模板列中的可以通过((控件类型)e.Item.Controls[索引号]).属性= 来动态设定
还比如根据一个列的值来写其他列的统计值,都一样的
ItemDataBound事件方法中进行操作,因为这个时候数据绑定了

posted on 2008-11-13 01:26  〆o殺殸纨o〆  阅读(210)  评论()    收藏  举报