C# 处理Gridview.RowEdit

C# 处理Gridview.RowEdit,c#,asp.net,events,gridview,webforms,C#,Asp.net,Events,Gridview,Webforms,快一点: 我创造了 公共事件GridViewEditEventHandler invGridEdit{}。 我是否可以在此事件中输入代码以允许最终用户编辑DB条目,或者我是否需要将其指向新的编辑方法 编辑:很明显,这是我第一次看事件。如果这是一个愚蠢的问题,我深表歉意。基本上,这是针对您想要运行以设置网格编辑的任何代码 从这里开始: 单击编辑按钮时,在GridView控件进入编辑模式之前,会引发RowEditing事件。该按钮的CommandName属性设置为Edit。这允许您提供一种事件处理

快一点: 我创造了 公共事件GridViewEditEventHandler invGridEdit{}。 我是否可以在此事件中输入代码以允许最终用户编辑DB条目,或者我是否需要将其指向新的编辑方法


编辑:很明显,这是我第一次看事件。如果这是一个愚蠢的问题,我深表歉意。

基本上,这是针对您想要运行以设置网格编辑的任何代码

从这里开始:

单击编辑按钮时,在GridView控件进入编辑模式之前,会引发RowEditing事件。该按钮的CommandName属性设置为Edit。这允许您提供一种事件处理方法,每当发生此事件时,该方法将执行自定义例程,例如取消编辑操作。 创建GridViewEditEventHandler委托时,您将标识将处理事件的方法。要将事件与事件处理程序关联,请将委托的实例添加到事件中。事件处理程序在事件发生时被调用,除非删除委托。有关事件处理程序委托的更多信息,请参阅事件和委托。

检查

通常,您必须在特定事件上注册自己的方法:

创建GridViewEditEventHandler委托时,您可以标识 方法来处理事件。将事件与您的 事件处理程序,将委托的实例添加到事件。事件 除非删除 代表有关事件处理程序委托的更多信息,请参阅 活动和代表

就你而言:

gridview.RowEditing += new GridViewEditEventHandler(myEditHandler);
注册的方法必须具有处理程序所需的签名。在你的情况下,是代表

public delegate void GridViewEditEventHandler(
    Object sender,
    GridViewEditEventArgs e
)
所以方法myEditHandler看起来像

void myEditHandler(Object sender, GridViewEditEventArgs e)
要访问Fireging gridview,请对发送方执行强制转换:

如果触发事件RowEditing,现在将调用您的方法。在下列情况下,情况就是这样:

当“编辑”按钮使用其 单击设置为编辑的CommandName属性,但在 GridView控件进入编辑模式。这允许您提供 执行自定义例程的事件处理方法,例如 每当发生此事件时,取消编辑操作


希望有帮助=

这与我在“设计”视图中双击对象时自动发生的情况类似吗?换句话说,我创建的事件是多余的吗?我需要根据您的示例使用一些东西来指出对该方法的触发?抱歉,这对我来说有点新。是的,如果您在设计模式下选择gridview,您可以监视所有事件。如果双击RowEditing事件,我的示例与此类似,只是结果方法名不同。尝试并分析自动生成的代码:
GridView gv = (GridView)sender;