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

呈现 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)
 

 

你可能感兴趣的:(Data)