on 12-22-2010 12:59 PM
Hola,
Aún no domino el uso de las variables wdThis, wdContext, wdControllerAPI y wdComponentAPI.
Desde el método1 de un view1 como puedo llamar al método2 de un view2 que se encuentran en el mismo 'Web Dynpro Components'?
Desde un método de un view, como puedo acceder a las propiedades de sus UI Elements, como por ejemplo acceder a modificar el 'text' del título de un UI Element Tray?
Muchas gracias,
Rubén Gutiérrez
En cuanto a tu primer pregunta, para llamar a un método de otra vista puedes hacer esto:
1.- Crear un evento en el component controller.
2.- Crear un método en el component controller que dispare el evento.
3.- En la vista 2, crear un event handler que se suscriba al evento del component controller y que realice la acción que tu quieras.
4.- En la vista 1, llamar al método del cómponent controller.
De todas formas, yo te recomiendo que utilices esta opción con cuidado y con mucho criterio. Aunque no conozco tus requerimientos, en general no creo que sea necesario utilizarla. Las vistas deberían de tener poco código y nunca código de negocio, el cual debería estar en el component controller. Creo que todo lo que necesites hacer lo podrías hacer a través del component controller y a lo sumo vincular atributos a las vistas.
Saludos, Aldo.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Muchas gracias Aldo, muy bien explicado todo y la solución con dos alternativas. Esta explicación soluciona mi segunda pregunta.
Sobre mi primera pregunta, si alguien sabe como se hace.
Saludos,
Rubén Gutiérrez
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Rubén, estos son los pasos para modificar dinámicamente el título de un Tray desde otra vista. Supongamos que tenemos la vista 1 y la vista 2. La vista 2 es la que contiene el tray y la vista 1 es desde la que queremos modificar el título.
1.- Crea un atributo en el contexto del component controller, por ejemplo: tituloTray.
2.- Vincula este atributo a la vista 2.
3.- Vincula el atributo a la propiedad text del Tray_Header.
4.- Crea un método en el component controller en la sección methods con un parámetro string titulo. Por ejemplo modificarTituloTray con el siguiente código:
public void modificarTituloTray( java.lang.String titulo ) {
//@@begin modificarTituloTray()
wdContext.currentContextElement().setTituloTray(titulo);
//@@end
}
5.- Vincula la vista 1 al component controller (no es necesario vincular ningún atributo).
6.- En la vista 1 en el lugar en que quieras cambiar el título del tray, pon el siguiente código:
wdThis.wdGet<NombreComponent>Controller().modificarTituloTray("Mi título");
Otra opción es no hacer los pasos 4, 5 y 6 y en su lugar vincular el atributo de component controller a la vista 1 y desde esta modificar directamente el atributo con el código:
wdContext.currentContextElement().setTitulo("Mi título");
Cualquier aclaración que necesites estoy a las órdenes.
Saludos, Aldo.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
68 | |
26 | |
9 | |
9 | |
7 | |
6 | |
4 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.