on 06-02-2009 11:09 AM
Hi all,
I have created a web dynpro Java application which contains an overview table with document status.
When user clicks on a record in this table, an interactive form is open in an other view.
When user chooses to close the interactive form, I want to refresh the table in the parent page.
Is it possible to achieve this?
If yes , how?
Thanks for your help.
Kind regards
Karim
Hi,
The user will close the interactive form, by clicking on a button in the form.
Kind regards
Karim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
How is the user going to close the Adobe IF window? Via a button on the form or via the the browser window close button? Depending on this your probable solution will change.
Regards,
Satyajit
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I tried what you suggested but it don't seems to work.
Do I have to created the event somewhere?
Kind regards
Karim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
When I click on a record,
I use method "navigateAbsolute" of class "WDPortalNavigation" to call my other application with different paramaters.
Is this clear for you or do you need other details?
Kind regards
Karim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I did not expect that you are using portal navigation (navigation between two Ivews) as this information was not clear in your earlier posts.
To achieve this (refreshing the parent ivew) in portal navigation (navigation between two Ivews):
You need to raise an event in the button action of PDFIview as below:
WDPortalEventing.fire ("urn:com.sap.tc.webdynpro.test.portal",
"TestEvent",
"AParameter");
You need to subscribe the same event in parent ivew:
WDPortalEventing.subscribe ("urn:com.sap.tc.webdynpro.test.portal",
"TestEvent",
wdThis.wdGetTestEventAction());
in TestEventAction you can write the code to refresh the table in Parent IView
Go through this below link for more help.
http://help.sap.com/saphelp_nwce10/helpdata/en/d3/3857422d095542e10000000a1550b0/content.htm
Regards,
Charan
When I click on a record in the table, I call another web dynpro component.
So I assume this will not work?
Is there any way to refresh the parent view?
Kind regards
Karim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
This scenario works even if both are different components.
Please clarify this question first:
Are you navigating between Comp1 (ParentView) to Comp2(PDFView) using plugs?
Or Are you opening the PDFView in a window as popup? if yes what is that window (Model / External)?
For example If you are navigating from Comp1 (ParentView) to Comp2(PDFView)
For this anyway you already added Comp2 as used component in Comp1.
Now in Comp2's interface view create one outbound plug and create one inbould plug for PDFView. Now map these two plugs in Comp1's PDFView's window.
Now invoke this Comp2's interface view's outbound plug in back button action of PDFView.
In inbould plug of PDFView write the code to refresh the table.
Regards,
Charan
Thanks for your answer,
But my pdf view is not a model window.
Isn't it possible if it's not a model window?
Kind regards
Karim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I think it is possible If you opens the interactive form in model window (non-movable non-resizable ).
How to open pdf in model popup:
1. Go to <Your Webdynpro project> - WebDynpro - Web Dynpro Components - <your component> - Windows right click and create a window (PdfWindow).
2. Place the view that contains pdfForm in the window PdfWindow.Create a button in the view say ClosePdf .
3. Create a context attribute say WindowInstance of type com.sap.tc.webdynpro.clientserver.window.Window (java native type) in the component controller.Map this attribute to the context of both views (view with button and Pdfview)
3. In the onAction of "OpenPdf" link in table of parent view
IWDWindowInfo windowInfo = (IWDWindowInfo) wdComponentAPI.getComponentInfo().findInWindows("PdfWindow");
IWDWindow window = wdComponentAPI.getWindowManager().createWindow(windowInfo,true);
window.setWindowPosition(500, 500);
window.show();
// this iwll bw used to destroy the pop up
wdContext.currentContextElement.setWindowInstance(window);
4. In Pdfview create a action closepopup and associate with button ClosePdf. In the action write
IWDWindow window = wdContext.currentContextElement.getWindowInstance();
window.destroy(); // this will close the popup.
If it is model window then you can refresh your parent view as below:
1. Crate one event in Component Cotroller. For example refreshParentViewEvent().
2. Crate one method refreshParentView() in Component Controller and invoke the refreshParentViewEvent in that method as below.
wdThis.wdFireRefreshParentViewEvent();
3. Now create one event handler in your parent View as "refreshParentViewEventHandler" and while creating this even handler select refreshParentViewEvent event as source event.
4. Now in refreshParentViewEventHandler event handler write the code to refresh your table in parent view.
5. Now in popup model window, in action closepopup of button ClosePdf invoke refreshParentView method of Component Controller as well.
Regards,
Charan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.