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? 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?+bb);

}

}