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