MMm.. que mala suerte... por el momento tengo algunos problemas con mi correo... pero te escribo el código tal cual, sirve que los demas lo ven. (Lo hice con V.Studio)
Por cierto.. omití las directivas
page language y el codebehind... el inherits y todo lo demás que va hasta arriba. eso depende de tu archivo. pero todo lo que sigue haz copy and paste.

, y utiulice la BD de ejemplo de NorthWind de SQL Server
código
datagrid.aspx (HTML)
Cita: <HTML>
<HEAD>
<title>DataList</title>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<P>
<asp:DataGrid id="DataGrid1" runat="server" Width="474px" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanged="Cambio" AllowSorting="False" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" GridLines="Horizontal" PageSize="3">
<SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#F7F7F7"></AlternatingItemStyle>
<ItemStyle ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
<FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="CompanyName" HeaderText="Company"></asp:BoundColumn>
<asp:BoundColumn DataField="Address" HeaderText="Address"></asp:BoundColumn>
<asp:BoundColumn DataField="City" HeaderText="City"></asp:BoundColumn>
</Columns>
<PagerStyle Font-Size="X-Small" Font-Bold="True" BorderStyle="None" HorizontalAlign="Left" ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages"></PagerStyle>
</asp:DataGrid></P>
<P>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox></P>
</form>
</body>
</HTML>
y en la página
datagrid1.aspx.vb Cita: Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Web.UI.WebControls
Public Class myDataGrid
Inherits System.Web.UI.Page
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Dim DS As DataSet = New DataSet()
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
DataGrid1.DataSource = RetrieveDS()
DataGrid1.CurrentPageIndex = 0
DataGrid1.DataBind()
End Sub
Function RetrieveDS() As DataSet
Dim str As String
str = "select * from Customers where CompanyName like '" & TextBox1.Text & "%'"
Dim sqlCon As New SqlConnection(ConfigurationSettings.AppSettings("c onnectionstring"))
Dim dAdap As New SqlDataAdapter(str, sqlCon)
dAdap.Fill(DS)
Return DS
End Function
Sub cambio(ByVal o As Object, ByVal e As DataGridPageChangedEventArgs)
Try 'Por si la página no existe o está fuera del rango
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataSource = RetrieveDS()
DataGrid1.DataBind()
Catch
DataGrid1.CurrentPageIndex = 0
DataGrid1.DataSource = RetrieveDS()
DataGrid1.DataBind()
End Try
End Sub
End Class
Esa sería mas o menos la idea... no entre en detalles porque te digo que ando con un poco de trabajo,

y este código fue el primero que se me ocurrió. jeje
Saludos