Hola useraul, tengo el codigo, pero yo lo hice para un elemento repeater, no creo que tengas problemas para adaptarlo al datalist, puesto que comparten entre si muchas propiedades, pero si tienes problemas no dudes en preguntar.
Para explicarte un poco antes de poner el codigo, te digo que se utiliza un elemento PagedDataSource, para paginar los datos. Este elemento te permite definir de que tamaño quieres la paginación, no obstante te ire explicando el código segun lo ponga.
Código:
Dim conexion As New OleDbConnection
Dim comando As New OleDbCommand
Dim adaptador As New OleDbDataAdapter
Dim dataset1 As New DataSet
Dim pageds As New PagedDataSource
Dim j As Integer
conexion.ConnectionString = "cadena de conexión
conexion.Open()
comando.CommandText = "consulta de seleccion sql"
comando.Connection = conexion
adaptador.SelectCommand = comando
conexion.Close()
'llenamos el dataset con los datos de la tabla
adaptador.Fill(dataset1, "datos")
'ahora viene el elemento que sirve para paginar
pageds.DataSource = dsproductos.Tables("datos").DefaultView
pageds.AllowPaging = True
'definimos el numero de datos por pagina en este caso 10
pageds.PageSize = 10
'curpage sera el indice que identifique en que pagina estamos
Dim curpage As Integer
If Not IsNothing(Request.QueryString("Page")) Then
curpage = Convert.ToInt32(Request.QueryString("Page"))
Else
curpage = 1
End If
pageds.CurrentPageIndex = curpage - 1
lblCurrpage.Text = "Page: " + curpage.ToString()
'pasamos el numero de la pagina para que el datasource sepa en que pagina estas de ese modo te dira que datos mostrar
If Not pageds.IsFirstPage Then
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + CStr(curpage - 1)
End If
If Not pageds.IsLastPage Then
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + CStr(curpage + 1)
End If
'finalmente asignamos el origen de datos y lo cargamos
repeater1.DataSource = pageds
repeater1.DataBind()
Como te he dicho antes use un elemento repeater, no deberia darte problemas el datalist. Mucha suerte con el proyecto
Un saludo.
Pinty