Foros Néfele 4 Harbour › Foros › Ejemplos › Listview con paginación
Etiquetado: wListView
- Este debate tiene 0 respuestas, 1 mensaje y ha sido actualizado por última vez el 4 años, 1 mes por Alfredo Sanz. This post has been viewed 789 times
Mostrando 0 respuestas a los debates
-
AutorEntradas
-
-
14-10-2020 a las 18:24 #1195Alfredo SanzSuperadministrador
Os dejo un nuevo ejemplo de Xevi para hacer un Listview con paginación
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475PROCEDURE Factures()// Comenzamos instanciando la Página Web que queremos crearwith object TWebPage():New()// Instanciamos un Panel para que sea el contenedor del formulario, permite poner un titulo y tiene un efecto sombraWith Object WPanel():New(:WO)// tenemos que tener un contenedor para recibir la respuesta del AJAXWith Object WBevel():New(:WO):cId := "pages"// Cuando cargamos la primera vez montamos la página 1 del listviewFacturesBrowse( 1, :WO ):Create()End With:Create()end with// Y listo, ya tenemos nuestra página creada, como el :Create() de un tWebPage nos retorna todo el HTML de la página// sobre la marcha hacemos el envio de dicho HTML al navegador que nos ha realizado la conexiónoCgi:SendPage(:Create())end withRETURN//------------------------------------------------------------------------------static FUNCTION FacturesBrowse( nPage, oParent )LOCAL cHtmlLocal n, aItems := {}//Cargamos datos en un Array que se mostraran en el Browse//Podríamos proveer de datos el Array desde cualquier consulta DBF o MariaDBAAdd( aItems, { 1, 20001 } )AAdd( aItems, { 2, 20002 } )AAdd( aItems, { 3, 20003 } )AAdd( aItems, { 4, 20004 } )AAdd( aItems, { 5, 20005 } )DEFAULT nPage TO 1WITH OBJECT WListView():New(oParent):lTitleItem := .T.// Parametros para la Paginación:nItemInPage := 3//7:nPage := nPage:cOnChangePage := "FacturesAjaxChangePage" // Esta es la función a Llamar al cambiar de página:cAjaxPages := "pages" // Este es el wBevel que contiene el wListView y al que hay que enviar la respuesta del AJAXFor n:=1 To Len(aItems)WITH OBJECT :AddItem( aItems[n,1],, "Factura: " + ToString(aItems[n,2]) ) AS wItemListViewEND WithNext:Create()// Como tambien lo podemos llamar por AJAX recuperamos todos el código HTML y JS en una cadenacHtml := :FullHtml()end withRETURN cHtml//------------------------------------------------------------------------------// Esta es el metodo que es llamado por AJAXPROCEDURE FacturesAjaxChangePage()// El Listview nos envia en la llamada tres Parametros de su configuración que podemos// recuperar con oCgi:GetCgiValue// newpage := Próxima página a mostrar// cType := tipo de ListView// lTitleItem := Si se presenta el titulo de las lineas (cuidado devuelve 'true' o 'false')LOCAL nPagina := Val(oCgi:GetCgiValue("newpage", "1")) // Recuperamos la página a mostrar// Montamos el listview con los parametros recibidos y lo enviamos de respuestaoCgi:SendPage( FacturesBrowse(nPagina) )RETURNPodéis verlo en
https://samples.nefele.dev/cgi-bin/usuarios.exe?factures
- Este debate fue modificado 4 años, 1 mes por Alfredo Sanz.
- Este debate fue modificado 4 años, 1 mes por Alfredo Sanz.
-
-
AutorEntradas
Mostrando 0 respuestas a los debates
- Debes estar registrado para responder a este debate.