Sub GridView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Dim Row As GridViewRow Dim SelectedValue As String = ViewState("SelectedValue") If SelectedValue Is Nothing Then Return End If ' 检测选择的行是哪个并重新选中它 For Each Row In GridView1.Rows Dim KeyValue As String = GridView1.DataKeys(Row.RowIndex).Value If (KeyValue = SelectedValue) Then GridView1.SelectedIndex = Row.RowIndex End If Next End Sub
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) ' 保存选中行的索引 If (Not GridView1.SelectedIndex = -1) Then ViewState("SelectedValue") = GridView1.SelectedValue End If End Sub
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.web.UI.WebControls.GridViewPageEventArgs) ' 重置选中索引 GridView1.SelectedIndex = -1 End Sub
Sub GridView1_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) ' 重置选择索引 GridView1.SelectedIndex = -1 End Sub