0

我有一个带有编辑按钮的 GridView,该按钮打开记录以使用更新命令进行编辑。这与代码隐藏中的 RowEditing 事件相关联,并在单击时按预期工作。

但是,我正在破解我的 GridView 以支持插入。这涉及在将集合分配给数据源之前将空白实体添加到我的实体集合的开头,然后打开第一行进行编辑。它看起来像这样:

MyDataGrid.DataSource = New MyEntity() {New MyEntity()}.Union(MyDbEntities)
MyDataGrid.EditIndex = 0
MyDataGrid.DataBind()

它可以工作并打开一个空白行,可以在其中添加全新的记录。但是,它不会触发 RowEditing 事件。我需要触发此事件,因为在将特定控件交付给客户端之前,会执行一些特殊代码来准备特定控件。我知道我可以创建一个接受 GridViewRow 对象作为参数的辅助方法,但我真的很想在特定行上调用网格的更新命令,以便一切自然流动。

4

1 回答 1

0

您是对 GridView 进行子类化,还是仅将其包装在大量额外代码中?

如果您是子类化,您应该可以访问OnRowEditing受保护的方法。如果你调用它,它将触发事件(假设事件处理程序附加到它。)

实际上,我会推荐子类化 - 它会产生更便携和可重用的东西,并且您将能够访问很多您无法访问的方法。

于 2013-02-21T16:17:15.210 回答