2012-03-01 8 views
5

Tengo un caso de uso bastante sencillo y común. Un panel, en el cual reside un control de repetición. El control de repetición obtiene su contenido de una búsqueda de vista por clave. Debajo de ese control de repetición hay otro panel. Este panel tiene un enlace de datos a un nuevo documento de notas. El panel tiene un par de campos para el nuevo documento y un botón de enviar.Necesita sintaxis para llamar a una actualización en un componente de otro en la página

Todo funciona, pero después de enviarlo (presumiblemente en el evento "postSaveDocument()") quiero volver a llamar al control de repetición y hacer que vuelva a realizar su búsqueda y actualizar su contenido.

Estoy tratando de entender sintácticamente, cómo puedo hacer referencia al control de repetición y sus propiedades y métodos desde otro lugar del documento, y secundariamente (aunque puedo buscarlo una vez que obtengo la primera parte resuelta) el método refresh() sería para eso que repita el control.

Idealmente, creo que es algo como: xp: page.repeatcontrolname.refresh() - aunque sé que no es correcto.

Estoy seguro de que una vez que vea un ejemplo, se aplicará a una miríada de otras cosas.

Actualización:

descubrí que los elementos repetidos eran en realidad refrescante pero no estaba viendo una nueva entrada añadida a la lista. La razón, finalmente, fue que para agregar otra entrada a la lista de repetición necesitaba un nuevo "control", pero había marcado esa casilla (en el control de repetición) que decía "Crear controles en la creación de la página". ¡Impidió que mi XPage creara otra entrada para que se mostrara el nuevo documento!

Respuesta

7

En este artículo se explica la sintaxis para hacer lo que describa:
http://avatar.red-pill.mobi/tim/blog.nsf/d6plinks/TTRY-84B6VP

+0

Gracias Tim Lo comprobaré. Ambos parecen artículos que debería leer en cualquier caso. –

+0

Estoy aproximadamente 99% seguro de que esto haría lo que quisiera, si puedo hacerlo funcionar. Me tomó alrededor de una hora encontrar dónde colocar ese evento, y solté el código en: ' XSP.partialRefreshGet (" # {id: view: _id1: ExistingDevicesList} "); ' y .... todo lo que obtengo es un cuadro de diálogo que dice: " Se produjo un error al actualizar parte de la página. _c9 no está definido " Voy a seguir buscando. –

+1

que es JS del lado del cliente, así que asegúrese de tenerlo en el lugar correcto y la ID solo debe ser el ID del control de repetición para 'XSP.partialRefreshGet (" # { id: ExistingDevicesList} "); ' el # {id: xyz} se traduce en el tiempo de ejecución al identificador correcto en la página del control –

1

Andrew,

La llamada 'XSP.PartialRefreshGet' se rompió en Domino Versión 8.5.3, que da lugar a la '_c9 no está definido' error.

Tener un vistazo al artículo publicado por Tommy Valand:
http://dontpanic82.blogspot.com.au/2012/03/patch-for-bug-in-xsppartialrefreshget.html

Básicamente a solucionar el problema se requiere un segundo argumento que se pasa a la llamada, por ejemplo:

XSP.partialRefreshGet("#{id:ExistingDevicesList}", "") 
Cuestiones relacionadas