datagrid中查找行,列号

   Protected Sub selfButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim conn As New OleDbConnection( _
               "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Me.Server.MapPath("~\App_Data\photo.mdb"))
        conn.Open()
        Dim cmd As New OleDbCommand
        cmd.Connection = conn
        cmd.Parameters.Clear()
        cmd.CommandText = "Delete * from photo where pnumber=@pnumber"
        'cmd.Parameters.Add("@pnumber", OleDbType.Integer).Value = 1
        '1        LinkButton lb = (LinkButton)sender;
        '2        DataControlFieldCell dcf = (DataControlFieldCell)lb.Parent;
        '3        GridViewRow gvr = (GridViewRow)dcf.Parent;
        '4        GridView1.SelectedIndex = gvr.RowIndex;
        '使用第一个Parent属性的时候,
        '将LinkButton的范围扩大到DataControlFieldCell (当前按钮所在表格中的列单元)
        '再使用一次Parent属性,
        '可以再将列单元的范围扩大到GridViewRow(当前列单元所在的行单元)
        '这个时候使用行单元的RowIndex属性就可以得到当前行所在表格的序号了。

        Dim tempbutton As Button
        tempbutton = CType(sender, Button)
        Dim tempDCFC As DataControlFieldCell
        tempDCFC = tempbutton.Parent

        Dim tempGVR As GridViewRow
        tempGVR = CType(tempDCFC.Parent, GridViewRow)
        Me.GridView1.SelectedIndex = tempGVR.RowIndex()

        cmd.Parameters.Add("@pnumber", OleDbType.Integer).Value = CInt(Me.GridView1.Rows(Me.GridView1.SelectedIndex).Cells(1).Text)
        Me.Label1.Text = Me.GridView1.Rows(Me.GridView1.SelectedIndex).Cells(1).Text.ToString
        cmd.ExecuteNonQuery()
        conn.Close()
        Me.GridView1.DataBind()

    End Sub

posted on 2009-01-31 23:01  wmt  阅读(362)  评论(0编辑  收藏  举报

导航