数据绑定控件的ItemDataBound事件与System.Data.Common.DbDataRecord
时间:2010-09-25 来源:superfeeling
进行.net开发,与数据库之间的交互是免不了的,在.net里面微软为我们提供了很好的操作数据的模板控件,如何更好的使用这些控件就成了我们特别关心的问题.
就如我们知道的那样,使用数据绑定模板控件操作数据很方便,只要把数据源绑定到控件的DataSource属性,然后DataBind()一下就OK了.但要如何定制个性化的数据显示呢,这个就是我们所关心的问题.
前几天看见一个朋友写了,在ItemDataBound事件里实现了我们的个性化数据显示,但那位朋友使用的是DataTable数据源,在大多数的情况下,我们往往要把DataReader绑定到数据模板控件上去,同样我们也可以在ItemDataBound事件里遍历DataReader中的每一项.
private void myDG_OnItemDataBound(object sender,DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
System.Data.Common.DbDataRecord dbdr = (System.Data.Common.DbDataRecord)e.Item.DataItem;
//然后你就可以想在DataReader中一样访问其中的数据了
int sex = Convert.ToInt32(dbdr["FSex"]);
e.Item.Cells[2].Text = (sex == 0 ? "男" : "女");
}
}