ASP.NET中GridView控件的几个事件的使用

说明:GridView的数据绑定需要在!ispostback里头,否则在编辑的时候会出现不能获取编辑后的值的情况

一.GridView主键的设置:

GridView1.DataKeyNames = new string[] { "Jinchu_Time" };
        GridView1.DataBind();

二.GridView分页事件的处理方法:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)//翻页
    {
        GridView1.PageIndex = e.NewPageIndex;
        cd.sql_gridview(str_select,GridView1,"WPjinchu_dj");
       
    }

三.GridView删除事件的处理方法:

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)//记录删除
    {
        string str_1 = GridView1.DataKeys[e.RowIndex].Values[0].ToString();//获取Gridview的主键

        string str_delete = "delete from WPjinchu_dj where Jinchu_Time=" + str_1;

        Response.Write("<script>alert('" + cd.sql_xiugai(str_delete) + "')</script>");
    }

四.GridView编辑事件的处理方法:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        data_lj.sql_gridview(str_select,GridView1,"电费清单 ");
    }

五.GridView更新事件的处理方法:

protected void GridView2_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string str_1 = GridView2.DataKeys[e.RowIndex].Values[0].ToString();
        string str_2 = ((TextBox)(GridView2.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();//取得文本框中输入的内容
        string str_3 = ((TextBox)(GridView2.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();//取得文本框中输入的内容

                string str_update = "update 电费清单 set 寝室号='" + str_2 + "', 用电量='" + str_3 + "' where 记录编号=" + str_1 + "";

         Response.Write("<script>alert('"+cd.sql_xiugai(str_update)+"')</script>");//调用更新数据库的公用方法更新数据库,返回更改结果

    }

六.GridView编辑取消事件的处理方法:

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        data_lj.sql_gridview(str_select,GridView1,"电费清单");
    }

七.GridView的超级链接HyperLinkField使用:

HyperLinkField可以在GridView控件中提供一个超链接,而且可以传递参数。

<asp:HyperLinkField DataNavigateUrlFields="aa,bb" DataNavigateUrlFormatString="Default4.aspx?id={0}&name={1}" DataTextField="aa" HeaderText="查看" Text="详细信息" />

DataNavigateUrlFields指定的是绑定到该超链接的数据库字段,这里是aa和bb.

DataNavigateUrlFormatString指定的是对绑定到超链接的NavigateUrl属性的值的应用格式也就是链接字符串,这里是Default4.aspx?id={0}&name={1},id和name是传递的两个参数,这里也就是aa和bb。

在下一个页面的Page_Load方法中根据接收的参数查询出当前项目的详细信息。

GridView的按钮ButtonField使用:

ButtonField单击事件的触发是通过GridView的RowCommand事件,在这个事件中可以捕获到用户对ButtonFiled按钮的单击事件。

<asp:ButtonField HeaderText="编辑" Text="修改" ButtonType="Button" CommandName="xiugai" />

protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "xiugai")     //ButtonField控件的CommandName
        {
            int index=Convert.ToInt16(e.CommandArgument);
          string id=Server.UrlEncode(GridView2.Rows[index].Cells[1].Text);
            string aa=Server.UrlEncode(GridView2.Rows[index].Cells[2].Text);
            string bb=Server.UrlEncode(GridView2.Rows[index].Cells[3].Text);
            Response.Redirect("Default4.aspx?id="+id+"&aa="+aa+"&bb="+bb);
        }
    }

 

 
 
posted @ 2010-09-17 08:42  英雄不问出处  阅读(886)  评论(0编辑  收藏  举报