Código PHP:
Imports System.Data.SqlClient, System.Data, AjaxPro
Partial Class _Default
Inherits System.Web.UI.Page
<AjaxMethod()> _
Public Function Paginar(ByVal pagina As Integer)
Dim cadena As String = Listar(50, pagina).ToString
Return cadena
End Function
<AjaxMethod()> _
Public Function Ordenar(ByVal TipoOrden As String, ByVal Campo As String)
Try
Dim dt As DataView = Session("Vista")
Dim s As New System.Web.UI.WebControls.GridViewSortEventArgs(Campo, SortDirection.Ascending)
If TipoOrden = "asc" Then
s.SortDirection = SortDirection.Ascending
Else
s.SortDirection = SortDirection.Descending
End If
dt.Sort = s.SortExpression & " " & TipoOrden
Dim tabla As New DataTable
tabla = dt.Table.Clone
Dim fila As DataRowView
Dim a As Integer
a = 0
For Each fila In dt
tabla.ImportRow(fila.Row)
a += 1
Next
Dim mihtml As New System.Text.StringBuilder()
mihtml.Append("<table id='123'>")
mihtml.Append("<tr>")
For a = 0 To dt.Table.Columns.Count - 1
If Campo = dt.Table.Columns(a).ColumnName And TipoOrden = "asc" Then
mihtml.Append("<th> <a href='javascript:void(0)' id= 'mylink' onclick=Ordenar('desc','" & dt.Table.Columns(a).ColumnName & "')>")
mihtml.Append(dt.Table.Columns(a).ColumnName)
mihtml.Append("</a></th> ")
Else
mihtml.Append("<th> <a href='javascript:void(0)' id= 'mylink' onclick=Ordenar('asc','" & dt.Table.Columns(a).ColumnName & "')>")
mihtml.Append(dt.Table.Columns(a).ColumnName)
mihtml.Append("</a></th> ")
End If
Next
mihtml.Append("</tr>")
For a = 0 To tabla.Rows.Count - 1
mihtml.Append("<tr>")
mihtml.Append("<td>")
mihtml.Append(tabla.Rows(a)(0))
mihtml.Append("</td>")
mihtml.Append("<td>")
mihtml.Append(tabla.Rows(a)(1))
mihtml.Append("</td>")
mihtml.Append("<td>")
mihtml.Append(tabla.Rows(a)(2))
mihtml.Append("</td>")
mihtml.Append("<td>")
mihtml.Append(tabla.Rows(a)(3))
mihtml.Append("</td>")
mihtml.Append("</tr>")
Next
mihtml.Append("</table>")
Dim cadena As String
cadena = mihtml.ToString()
Return cadena
Catch ex As Exception
Return ex.Message.ToString()
End Try
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Utility.RegisterTypeForAjax(GetType(_Default))
If Not IsPostBack Then
Session("cantidad") = SqlHelper.ExecuteScalar(ConfigurationManager.ConnectionStrings("SQL_CN").ConnectionString.ToString(), CommandType.Text, "select count(*) from [order details]")
End If
lblDatos.Text = Listar(50, 1).ToString()
Registros()
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "mensaje()", "<script language='javascript'>function mensaje(obj) { var obj = _Default.Paginar(obj).value; document.getElementById('" & lblDatos.ClientID & "').innerHTML=obj; } </script>")
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "Ordenar()", "<script language='javascript'>function Ordenar(tipo,nombre) { var obj = _Default.Ordenar(tipo,nombre).value; document.getElementById('" & lblDatos.ClientID & "').innerHTML=obj; } </script>")
End Sub
Public Function Listar(ByVal cantidad As Integer, ByVal pagina As Integer)
Dim dt As DataTable = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings("SQL_CN").ConnectionString.ToString(), "paginar", cantidad, pagina).Tables(0)
Session("Vista") = dt.DefaultView
Dim mihtml As New System.Text.StringBuilder()
mihtml.Append("<table id='123'>")
mihtml.Append("<tr>")
Dim a As Integer
For a = 0 To dt.Columns.Count - 1
mihtml.Append("<th> <a href='javascript:void(0)' onclick=Ordenar('asc','" & dt.Columns(a).ColumnName & "')>")
mihtml.Append(dt.Columns(a).ColumnName)
mihtml.Append("</a></th> ")
Next
mihtml.Append("</tr>")
For a = 0 To dt.Rows.Count - 1
mihtml.Append("<tr>")
mihtml.Append("<td>")
mihtml.Append(dt.Rows(a)(0))
mihtml.Append("</td>")
mihtml.Append("<td>")
mihtml.Append(dt.Rows(a)(1))
mihtml.Append("</td>")
mihtml.Append("<td>")
mihtml.Append(dt.Rows(a)(2))
mihtml.Append("</td>")
mihtml.Append("<td>")
mihtml.Append(dt.Rows(a)(3))
mihtml.Append("</td>")
mihtml.Append("</tr>")
Next
mihtml.Append("</table>")
Return mihtml.ToString()
End Function
Public Sub Registros(Optional ByVal parametro As Integer = 0)
Dim a As Integer = Integer.Parse(Session("cantidad"))
Dim c As Integer = 0
For b As Integer = 0 To a Step 50
c += 1
If c = parametro Then
lblcantidad.Text &= "<b>" & c.ToString() & "</b>"
Else
lblcantidad.Text &= "<a href='javascript:void(0)' id= 'mylink' onclick=mensaje('" & c.ToString() & "')>" & c.ToString() & "</a> "
End If
Next
End Sub
End Class
Código PHP:
<%@ Page Language="VB" EnableViewState="false" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Página sin título</title>
</head>
<body>
<form id="form1" runat="server">
<br />
<asp:Label ID="lblcantidad" runat="server" Font-Names="Verdana" Font-Size="7pt"></asp:Label>
<br />
<br />
<table id='123'>
<tr>
<td>
<asp:Label id="lblDatos" runat="server" Font-Names="Verdana" Font-Size="7pt"></asp:Label></td>
</tr>
</table>
</form>
</body>
</html>
te bajas la libreria ajaxpro2 de mcihael. o sino entra a esta web
Http://es.geocities.com/romanticoper...neficiente.zip