在单击 GridView 控件中的按钮时,将引发 RowCommand 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时执行一个自定义例程。
GridView 控件中的按钮也可调用该控件的某些内置功能。若要执行这些操作之一,请将按钮的 CommandName 属性设置为下表中的某个值。
CommandName 值
说明 “Cancel” 取消编辑操作并将 GridView 控件返回为只读模式。引发 RowCancelingEdit 事件。 “Delete” 删除当前记录。引发 RowDeleting 和 RowDeleted 事件。 “Edit” 将当前记录置于编辑模式。引发 RowEditing 事件。 “Page” 执行分页操作。将按钮的 CommandArgument 属性设置为“First”、“Last”、“Next”、“Prev”或页码,以指定要执行的分页操作类型。引发 PageIndexChanging 和 PageIndexChanged 事件。 “Select” 选择当前记录。引发 SelectedIndexChanging 和 SelectedIndexChanged 事件。 “Sort” 对 GridView 控件进行排序。引发 Sorting 和 Sorted 事件。 “Update” 更新数据源中的当前记录。引发 RowUpdating 和 RowUpdated 事件。 尽管单击上表中所列出的按钮时将引发 RowCommand 事件,但仍建议您使用该表中列出的事件来执行该操作。
将 GridViewCommandEventArgs 对象传递到事件处理方法,以便您可以确定被单击按钮的命令名和命令参数。
注意
GridViewCommandEventArgs 类未包含一个用于指示单击按钮所在行的属性。如果需要知道哪个行引发了事件,请使用 CommandArgument 属性将行的索引传给事件处理方法。 GridView.DataKeys 属性
属性值 类型:System.Web.UI.WebControls..::.DataKeyArray 一个 DataKeyArray,其中包含 GridView 控件中每一行的数据键。
备注
当设置了 DataKeyNames 属性时,GridView 控件自动为该控件中的每一行创建一个 DataKey 对象。DataKey 对象包含在 DataKeyNames 属性中的指定的字段的值。DataKey 对象随后被添加到控件的 DataKeys 集合中。使用 DataKeys 属性检索 GridView 控件中特定数据行的 DataKey 对象。 说明:
可使用 SelectedDataKey 属性检索当前选中行的 DataKey 对象。还可以使用 SelectedValue 属性直接检索当前选中行的数据键值。 view plaincopy to clipboardprint?
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "mydelete") { string conString = ConfigurationManager.AppSettings["conString"]; int deleteid = (int)GridView1.DataKeys[Convert.ToInt32(e.CommandArgument.ToString().Trim())].Value; SqlConnection con = new SqlConnection(conString); con.Open(); string deletequery = "delete from classinfor where classid=" + deleteid + ""; SqlCommand cmd = new SqlCommand(deletequery,con); try { cmd.ExecuteNonQuery(); } catch { Response.Write("<script language='javascript'>alert('请先删除此班所有学生!');</script>"); } GridView1.DataBind(); con.Close(); } } |
|
来自: 沐浴中的眼泪 > 《GridView》