Hi,

I have created a Panel that I want to "include" on more than one Panel; however, when I try to include it on the 2nd panel, the validation fails with...

Panel "X" is already being used on Panel "Y".

Can this be changed so that a Panel can be included on as many other panels as is needed.

The use case in this example is that I have a Panel showing some common data; now depending on which user logs into the application will determine which Panels are available for use, so for example an admin user can see Panel A and a non-admin user can see Panel B, now I want to include Panel C on both A and B; currently I have to have 2 x C panels, C1 and C2 that are exactly the same as each other, with C1 showing on A and C2 showing on B.

Thanks,

Craig.

asked 09 May '13, 01:30

Craig's gravatar image

Craig
1.1k245
accept rate: 6%


Hi Craig,

This is a hard and fast thing in Formspider. A Panel is one UI Object and you can place it in one cell at a time. However, you can move panels around during run time. So in your case, you can include the Panel C to Panel A and during run time if a non-admin user logs in you can simply add Panel C to Panel B.

link

answered 09 May '13, 02:07

Yalim%20Gerger's gravatar image

Yalim Gerger ♦♦
1.8k5
accept rate: 15%

Morning Yalim,

Would that be done using the API_PANEL.add_panel procedure?

Thanks,

Craig.

(09 May '13, 02:25) Craig

Yes. Here is the tutorial that explains how to use them. Tbis is the most important tutorial to understand to manage screen navigation in Formspider.

http://theformspider.com/learningcenter/tutorial-20-managing-screen-navigation-in-formspider/

Basically, Formspider divides the screen into (layout) cells. By including Panels into these cells you can have cells inside cells recursively. So the screen is divided into many rectangles. The developer changes the screen by reacting to users events and placing different panels into these rectangles (cells).

(09 May '13, 02:33) Yalim Gerger ♦♦

In Formspider, when a child panel is initialized(is displayed on the screen for the first time or is subject of an API call), it will cause its parent panel to be initialized. Therefore if Panel C is included to Panel A during design time, adding it to Panel B during run time will cause Panel A to be initialized (since Panel A is the parent panel of Panel C), which is unnecessary.

As a best practice, in such cases, it would be better not to include Panel C neither to Panel A or Panel B in design time.

(09 May '13, 02:40) Ibrahim Sand... ♦♦

Great, I just gave it a try and it works perfectly, thanks.

(09 May '13, 02:42) Craig
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×35
×8
×2

Asked: 09 May '13, 01:30

Seen: 1,180 times

Last updated: 09 May '13, 02:42


© Copyright Gerger 2017