anonymous Log in
Search
Recents:
v3.0
genexusextensions
Abrir objetos en GeneXus desde ToolWindow
17/01/19 15:54

nsanguinetti19

Replies: 3

Estoy desarrollando una extensión que genera un reporte con una lista de
objetos GeneXus.
En esta lista, los objetos se pueden acceder mediante un link de la forma
"<a href="gx://?Command=......"
El problema que tengo es que hasta hoy utilizábamos la StartPage y ahora
estoy intentando crear una ToolWindow . No tuve problemas para crear y
mostrar el reporte en la ToolWindow con un navegador embebido pero estos
links no me funcionan.
Alguna idea de cómo puedo hacer para poder abrir estos objetos desde la
ToolWindow?
Saludos,
Nicolás.
Replies

gmilano

05/02/19 09:41
Hola Nicolás, supongo estarás usando el control WebBrowser de C#. En ese caso existe un evento que tenés que manejar para interceptar cuando el browser va a navegar a una url. Entonces tenés que en ese evento programar algo como lo siguiente, lo que se hace es simplemente parsear la url, separar el comando y mandar a ejecutar el comando dado. using Artech.Architecture.Common; using Artech.Common.Framework.Commands; private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { string kbPath; IDictionary parms = new Dictionary(); if (UriHelper.Parse(e.Url, out kbPath, parms)) { cancel = true; CommandKey cmdKey = CommandKey.Empty; object[] cmdParams = null; if (parms.ContainsKey(UriHelper.CommandKey)) { string[] commandKey = parms[UriHelper.CommandKey].Split(';'); if (commandKey.Length == 2) { cmdKey.Package = new Guid(commandKey[0]); cmdKey.Name = commandKey[1]; cmdParams = new object[1]; cmdParams[0] = parms; } else { if (commandKey.Length == 1) { cmdKey.Package = Guid.Empty; cmdKey.Name = commandKey[0]; cmdParams = new object[1]; cmdParams[0] = parms; } } } else { cmdKey = CommandKeys.Core.OpenKnowledgeBase; cmdParams = new object[1] { url }; } ICommandDispatcherService service = UIServices.CommandDispatcher; if (service != null) service.Dispatch(cmdKey, new CommandData(cmdParams)); } } Saludos, Gastón Gaston Milano CTO | GeneXus www.genexus.com [image: GeneXus™] On Thu, Jan 17, 2019 at 3:55 PM Nicolás Sanguinetti < nsanguinetti19@gmail.com>

nsanguinetti

05/02/19 16:53
Ya lo probé y quedó funcionando. Gracias por la respuesta! Saludos. On Tue, Feb 5, 2019 at 9:41 AM Gastón Milano

gmilano

05/02/19 17:02
Notable, me alegro, gracias a vos. Gaston Milano CTO | GeneXus www.genexus.com [image: GeneXus™] On Tue, Feb 5, 2019 at 4:54 PM Nicolas Sanguinetti < nsanguinetti@concepto.com.uy>


Back to genexusextensions