GridView中的事件处理

ASP.NET中,GridView控件是一个非常强大的数据展示组件,它允许开发者以表格的形式展示数据,并且可以对数据进行分页、排序等操作。本文将介绍如何在GridView中添加事件处理程序,以实现更复杂的交互功能。

在之前的一篇文章中,介绍了如何在GridView用户控件中处理事件。本文将在此基础上,进一步扩展项目,添加更多的事件处理功能。

使用代码

在之前的文章中,创建了一个名为RowDataBound的事件处理程序。在本文中,将添加另一个名为RowCommand的事件处理程序。使用相同的方法来定义这个事件。

protected void Simple_DGV_RowCommand(object sender, GridViewCommandEventArgs e) { OnRowCommand(e); } protected void OnRowCommand(GridViewCommandEventArgs e) { if (GridRowCommand != null) GridRowCommand(this, e); }

定义事件的委托。

public delegate void RowCommand(object sender, GridViewCommandEventArgs e); public event RowCommand GridRowCommand;

在父页面中添加RowDataBound事件处理程序。

BoundField b2 = new BoundField(); Inc_GridView1.Columns.Add(b2); // 空白列用于添加删除图像

RowDataBound事件中,添加一个图像按钮到空白列。

void Inc_GridView1_GridRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { int x = Inc_GridView1.Columns.Count - 1; // 空白列索引 ImageButton img1 = new ImageButton(); img1.ID = "img1"; img1.ToolTip = "Delete"; img1.ImageUrl = "icons-del.gif"; e.Row.Cells[x].Controls.Add(img1); ImageButton img2 = (ImageButton)e.Row.Cells[x].Controls[0]; img2.CommandName = "Delete"; img2.CommandArgument = DataBinder.Eval(e.Row.DataItem, "c").ToString(); // 删除命令的参数 img2.OnClientClick = "return confirm('Do you want to delete this Record?');"; // 按钮点击时的确认 } }

现在添加处理删除功能的代码。

void Inc_GridView1_GridRowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Delete") { int param = Convert.ToInt32(e.CommandArgument); // 删除行的函数 } }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485