ok.. ya mas o menos te entendí .. mira.. lo que tienes que hacer primero es cargar tu data grid en tu page_load... con esta condición para cargarla solo la primera vez.
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
LlenaGrid() 'Procedimiento para llenar mi grid cada vez que haya algun cambio
End If
End Sub
Sub LlenaGrid()
Dim DS As New DataSet()
Dim origen As DataView
Dim opc As Integer
Dim sqlCmd As String
sqlCmd = "select * from tu tabla"

'tu select normal (todavía sin escribir nada en un cuadro de texto para tomarlo como criterio)
Dim sqlCon As New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
Dim dAdap As New SqlClient.SqlDataAdapter(sqlCmd, sqlCon)
dAdap.Fill(DS, "Conexion")
origen = New DataView(DS.Tables("Conexion"))
DataGrid1.DataSource = origen
Try
DataGrid1.DataBind()
Catch
DataGrid1.CurrentPageIndex = 0
DataGrid1.DataBind()
End Try
End Sub
Ahora configuremos el paginado..(obviamente en tiempo de diseño le das la opcion de pagiar y posteriormente le inluyes su code como lo siguiente:)
<asp:datagrid....etc...
OnPageIndexChanged="CambioPage"
...
..
y en codigo:
Sub CambioPage(ByVal obj As Object, ByVal e As DataGridPageChangedEventArgs)
LlenaGrid()
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
End Sub
Despues por ejemplo.. en un boton que va a leer el criterio o la cadena a buscar que está en un textbox podrías hacer lo siguiente:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strSelect As String
Dim DS As New DataSet()
sqlCmd = "select * from tu_tabla where campo like '" & textbox1.text & "'"
Dim sqlCon As New SqlClient.SqlConnection(ConfigurationSettings.AppS ettings("connectionstring"))
Dim dAdap As New SqlClient.SqlDataAdapter(sqlCmd, sqlCon)
dAdap.Fill(DS, "Conexion")
DataGrid1.DataSource = DS
DataGrid1.CurrentPageIndex = 0
DataBind()
End Sub
Bueno.. pues creo que ésto sería todo.. si te fijas lo que mas interesa es el postback... solo carga el grid la primera vez...y se converva el estado hasta que cambies el criterio (textbox) y podrás navegar por tu grid..respetando los resultados.
Saludos y cualquier cosa por aqui andamos.