cancel
Showing results for 
Search instead for 
Did you mean: 

Tab Strip with multiple views refresh issue

kmoore007
Active Contributor
0 Kudos

I have created a tab strip with two tabs. Each tab has a view container element. Each view has an iFrame which points to an ABAP report exposed as a web service (url). I put a refresh button on the first view which fires an outbound plug which is directed to the same view. This refreshes the first view just fine. However, it also refreshes the second view. I don't want to refresh the second view. Is there a way around this?

Accepted Solutions (1)

Accepted Solutions (1)

ChrisPaine
Active Contributor
0 Kudos

Have you tried detaching the "hidden" view from the view container when you change tabs? Keep the view instance - but just repoint the view container to the "empty" view.

Therefore any refresh should only navigate to the shown view.

Problem is that IFrame is deprecated in 7.01 - so you can't really guarantee any particular behaviour.

kmoore007
Active Contributor
0 Kudos

Hey Chris,

So what "replaces" the iFrame? I just need to show a webpage in the view/tab.

kmoore007
Active Contributor
0 Kudos

Chris, can you explain a bit how to detach the view? I'm a beginner at WD4A.

Answers (3)

Answers (3)

Former Member
0 Kudos

Kenneth, have you tried using "Horizontal Contextual Panel"?

It has the similar look and feel for Tabs, however its much simpler to control as per your requirement.

Overview:

You can have multiple tabs but just one View container and depending on the tab selected you can assign which view to be displayed in 1 single view container.

With this you actually control what you display.

May be this will help.

Cheers,

Kunjal

kmoore007
Active Contributor
0 Kudos

Kunjal,

This looks interesting (horizonal contextual panel). I'll see if I can find a good example.

Former Member
0 Kudos

Hello Kenneth,

i would try another way and use [Suspend&Resume|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/19bf8c16f25d7ae10000000a11466f/content.htm]. But that works only on component-level. So i would create 3 components A,B,C.

Comp A has a tabstrip and inside each tab a ViewContainer Element (VCUI). Inside the VCUI's you call (the used) components B and C using Suspend & Resume Plugs. Components B and C only have one view each with an iframe calling the specific report.

So you can refresh both components differently.

Kind regards, Andreas

Former Member
0 Kudos

You can create a component controller attribute ( flag ) which you can set to true if any action happens in first view.

In wddomodify view of second view you can use this flag value to check if this flag is set to true then don't do anything.

Regards

Manas Dua

kmoore007
Active Contributor
0 Kudos

Manas, I tried your suggestion, but it did not work.