您的位置:首页 > 其它

数据源绑定控件的Row/ItemDataBound事件

2013-05-24 10:45 197 查看
呈现
GridView 控件之前,该控件中的每一行必须绑定到数据源中的一条记录。将某个数据行(用 GridViewRow 对象表示)绑定到 GridView 控件中的数据以后,将引发 RowDataBound 事件

所以我们可以在绑定的同时做一些事件处理,比如显示格式,js的调用等,现在我们就来简单的介绍一下用法

首先我们要判断一下对哪些行处理绑定事件,然后再写事件

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

if(e.Row.RowType==DataControlRowType.DataRow)

{

FangAnInfo
ff= (FangAnInfo)e.Row.DataItem;

Response.Write(ff.AddDate);

}

}

上面的这段代码主要就是获得控件中某行绑定的数据源中的值,这个值可以在控件中显示或者不显示,只要在数据源中存在就可以了,需要说明的是,如果你绑定数据源是一个泛型集合,那么你转换的时候的类型就是该泛型集合中的元素即对象:FangAnInfo ff= (FangAnInfo)e.Row.DataItem;如果你绑定的数据源是DataSet或者是DataTable,那么转换的时候就是DataRowView:DataRowView drv = (DataRowView)e.Item.DataItem;这样做的好处,就是可以直接获得改行中所有你想得到的值,代替了以前繁琐得到这些值的方法!

我们也可以在里面处理一下js的事件调用,如光帮效果,删除提示等

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

if
(e.Row.RowType == DataControlRowType.DataRow)

{

e.Row.Attributes.Add("onmouseover",
"currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");

e.Row.Attributes.Add("onmouseout",
"this.style.backgroundColor=currentcolor");

}

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

if
(e.Row.RowType == DataControlRowType.DataRow)

{

LinkButton
l = (LinkButton)e.Row.FindControl("LinkButton1");

l.Attributes.Add("onclick",
"javascript:return " +

"confirm('确认删除要删除吗?')");

}

}

其他的repeat和DataList用法一样,要加上

if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: