Web Popup Form

Hi guys. I need to create a web popup form, that would open a new WebForm object.

(it should look like a lookup window, that opens on each lookup), but needs to contain a standard webForm.

Is it possible and what do I need to know about passing parameters and if it is possible, how can I do it?

Well, for those who might need it some day, here are 2 solutions I found so far:

(If I get more, I will write post additionally)

  1. (Using a WebLet - the “right” way to do it)

a) Insert a WebGroup where you want the link to be.

b) Insert a Weblet into this group, specify the following properties for it:

Weblet = WebPopUpWeblet

DataSource = Your datasource name

c) Override the layout() method on the created weblet and insert the following code: (all it does is specifies the properties needed to identify the object you need to popup)

public boolean layout(Object _p1)
{
boolean ret;

ret = super(_p1);

_p1.setProp(extendedTypeStr(menuItemNameDisplay),menuitemdisplayStr(EPSalesTotalsAll));
_p1.setProp(enumStr(MenuItemType),MenuItemType::Display);
_p1.setProp(extendedTypeStr(WebHeight),300);
_p1.setProp(extendedTypeStr(WebWidth),450);

return ret;
}

This code opens a WebForm EPSalesTotals with width and height specified.

EASY! :slight_smile:

  1. (The ugly way, but also kinda cute)

a) Add a WebStaticText control where you need the link.

b) In the init method of the WebForm (or anywhere else you like) change the text property of this control, inserting the link in it:

void clicked()
{
WebLink link;

super();

link = new WebLink();
link.openInNewWindow(true);
link.menufunction(new MenuFunction(‘EPCustTableInfo’, MenuItemType::Display));
link.asppage(‘default.asp’);
WebStaticText1.text(’’ + “My Customer Info” + “”);
}

The WebStaticText1 will now look as a link with the text “My Customer Info”. Clicking on it will open a separate window with the Customer Info Table.

You might notice that the asppage ‘default.asp’ is used here. So the global and local menues will also be opened. Try using the lookup.asp if you need to hide the menues. (I haven’t, but I am pretty sure it works ;))

That’s it!

Also, you might want to check out the Web class - here is how it can be used:

(Adds a link to the webForm - where the infoboxes appear - that opens the EPCustTableInfo webForm)

Web::LinkToMenuFunction(New MenuFunction(‘EPCustTableInfo’, MenuItemType::Display), “true”);
Web::Write(‘Click me to Open Customer Information’);
Web::LinkEnd();