Foros Néfele 4 Harbour › Foros › Dudas › Botones WListView
-
AutorEntradas
-
-
02-12-2020 a las 18:56 #1610XeviParticipante
Resulta que tengo dos botones en un WListView y por mas que le digo que cada uno haga/lanze un onclick, los dos siempre van al mismo onclick, el del onclickedit.
1234567891011121314151617181920212223242526272829WITH OBJECT WListView():New(oParent):lTitleItem := .T.// Parametros para la Paginación:nItemInPage := 10: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: " + PadL(ToString(aItems[n,2]),5,"0") ) AS wItemListViewWITH OBJECT wLabel():New(:WO):aWidth := {11}:cText := "Data: " + DToC(aItems[n,3]):Create()END WITH:lEdit := .T.:cOnClickEdit := "#alert('De moment... No deixo Modificar')":lDelete := .T.:cOnClickDelete := "#alert('De moment... No deixo Borrar')"END WithNext:Create()// Como tambien lo podemos llamar por AJAX recuperamos todos el código HTML y JS en una cadenacHtml := :FullHtml()end withUn Saludo,
Xevi
-
03-12-2020 a las 22:36 #1617Pedro AmaroSuperadministrador
No consigo provocar el error que comentas, a mi si me ejecutan cada uno el suyo.
Asegurate que utilizas la ultima versión de Néfele, la 0.3.5
-
04-12-2020 a las 21:35 #1626XeviParticipante
Pedro,
puedes probar con este ejemplo completo...
123456789101112131415161718192021222324252627282930313233343536373839404142434445PROCEDURE ProvaListView()Local cHtml// Comenzamos instanciando la Página Web que queremos crearWITH OBJECT TWebPage():New()// Instanciamos un Panel para contener los elementos, 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)WITH OBJECT WListView():New(:WO):lTitleItem := .T.WITH OBJECT :AddItem( 1,, "Registro número 1", {"linea adicional 1"} ) AS wItemListView:lEdit := .T.:cOnClickEdit := "#alert('Modificar???')":lDelete := .T.:cOnClickDelete := "#alert('Borrar???')"END WithWITH OBJECT :AddItem( 2,, "Registro número 2", {"linea adicional 2"} ) AS wItemListView:lEdit := .T.:cOnClickEdit := "#alert('Modificar???')":lDelete := .T.:cOnClickDelete := "#alert('Borrar???')"END With:Create()end with:Create()End With //Bevel// Como ya no vamos a meter nada más dentro de wPanel lo creamos:Create()end with //Panel ListView// 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 WITHRETURNLos dos botones lanzan el mensaje Modificar???
Estoy utilizando Néfele libs del 19/11/2020 17:29
Un Saludo,
Xevi.
- Esta respuesta fue modificada 4 años por Xevi.
-
04-12-2020 a las 21:59 #1625Eduardo TrasviñaParticipante
Buen día.
Tengo el mismo comportamiento que reporto Xevi, esta es i definicion del listview.
y el html da esto.
Ya revise y confirme que tengo la version 1.3.5 de Nefele.
-
04-12-2020 a las 22:11 #1629Pedro AmaroSuperadministrador
Confirmado, es un bug que se coló a ultima hora en la 0.3.5.1
-
05-12-2020 a las 15:59 #1633XeviParticipante
Puestos...
Poder poner un color específico a cada boton/icono Delete/Edit ???
De momento lo pongo así, pero se podría incorporar el Nefelizado ???
123456789101112131415WITH OBJECT :AddItem( 1,, "Registro número 1", {"linea adicional 1"} ) AS wItemListView:lEdit := .T.:cOnClickEdit := "#alert('Modificar???')":lDelete := .T.:cOnClickDelete := "#alert('Borrar???')"END With:cCSS += "#lvw0001_1_icondelete { color: red;}"WITH OBJECT :AddItem( 2,, "Registro número 2", {"linea adicional 2"} ) AS wItemListView:lEdit := .T.:cOnClickEdit := "#alert('Modificar???')":lDelete := .T.:cOnClickDelete := "#alert('Borrar???')"END With:cCSS += "#lvw0001_2_icondelete { color: red;}"Y, recuerdo, hago memoria... poner más de 2 botones. utilizar un array de botones
aButtons := { { <lVisible>, <cOnClick>, <:cAjaxBevel> } } //por ejemploO, de no ser posible en un array, aumentar de 2 a 5 botones, por ejemplo...
:lSpecial, :lOptional, :lSuper //o los nombres que seanUn Saludo,
Xevi.
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.