首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RowDeleting事件中访问被删除行的值

如何在RowDeleting事件中访问被删除行的值
EN

Stack Overflow用户
提问于 2013-04-03 02:13:10
回答 2查看 5.5K关注 0票数 1

在从数据库中删除信息之前,我正在尝试保存一些信息。我使用的是asp网格视图。我尝试从使用RowDeleting事件删除的行中检索值。然而,我一直非常不成功。

代码语言:javascript
复制
Protected Sub gv1_RowDeleting(sender As Object, e As System.EventArgs) Handles   gv1.RowDeleting
   Dim a As String = gv1.Columns(0).ToString
   Dim b As String = gv1.SelectedRow.RowIndex.ToString
   Dim c As String = gv1.Rows(a).Cells(0).Text
End Sub

A最终成为标题行的第一列。B错误输出。我尝试了很多不同的方法,但都没有想出一个行索引来。我认为这个事件只能访问被删除的行。下面是我的gridview声明:

代码语言:javascript
复制
<asp:GridView ID="gv1" runat="server" AllowSorting="True" AutoGenerateColumns="False" EnableViewState="false"
            DataSourceID="ds1" EmptyDataText="NO ROWS FOUND" CssClass="gridView" DataKeyNames="id" GridLines="None">
            <Columns>
                <asp:BoundField DataField="id" HeaderText="ID" SortExpression="id" />
                <asp:BoundField DataField="totalsd" HeaderText="SD" SortExpression="totalsd" />
                <asp:BoundField DataField="freesd" HeaderText="FREE" SortExpression="freesd" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Button ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this record?');" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-03 02:16:29

e声明为System.Web.UI.WebControls.GridViewDeleteEventArgs。然后,您可以使用e.RowIndex获取行索引。

票数 2
EN

Stack Overflow用户

发布于 2013-04-03 02:22:40

尝试此示例方法,如使用RowCommand

代码语言:javascript
复制
<asp:LinkButton ID="DelButton" runat=server Text="Delete" CommandName="Delete" CausesValidation=False CommandArgument='<%# Databinder.Eval(Container,"DataItem.id") %>'></asp:LinkButton>

并在vb文件中进行修改

代码语言:javascript
复制
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand

        Dim MyConn1 As New OleDbConnection(Your Connection string)
        Dim cmdDelete As OleDbCommand

        If e.CommandName = "Delete" Then
             cmdDelete = New OleDbCommand("Delete from table" & _
                                               "Where id= " & e.CommandArgument.ToString() & ";", MyConn1)
            MyConn1.Open()
            cmdDelete.ExecuteNonQuery()
            MyConn1.Close()
            BindAutoMake()

        End If
    End Sub 

注意:确保您仍然有Row_deleting事件处理程序方法,但没有任何代码为空。否则它会给出错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15771282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档