I have a UIX page which passes a rowkey to the next page via a page property as follows:
<ctrl:go name="TaskBrowse" redirect="true">
<ctrl:selection name="ViewTable" key="key"/>
I now want to navigate to another page from ViewTable.uix, passing the value in "key" as a page property. How do I do it? The ctrl:property element can only derive its values from hard-coded text, an event parameter or a selected table row How can I set the property value to be the value of a page property?
OK, before I start asking around let me make sure
I understand the problem. You have a table or
something named ViewTable and it has a selection that
is based on key? And your trying to pass that to the
next page right? If not where is that key coming
from? Is it already passed to you from a previous page?
Also can you post more of your uix file so I can try
and diagnose the problem?
One minor thing is that you don't need the ctrl: on your
elements because event is already in the ctrl: namespace.
The key is already passed from a previous page. To set the scene a little, I have three pages:
1. Project list, has a table listing all projects.
2. Drill down to tasks for a project, passing the project key as a page property. This is a master/detail page. This currently works well.
3. Create a new task for the project from page 2. I want to pass the project key obtained from page 1 to page 3 via page 2, so that the user does not have to re-select a project when creating a task.
Here is my registrydef from page 2 (the tasks for a project):
<bc4j:rowDef name="ProjectRow" autoCreate="false" usesCurrency="true">
<bc4j:viewObjectDef name="TasksVO2" rangeSize="20"/>
This works well, I can display the selected project and then list the tasks in a table.
My problem is that in page 2 the project record is not in a table, so I cannot use a table selection mechanism to set the key value in the event which calls page 3 (see my earlier post for this code). As the key that I need is sittng there in the URL as a page property, I want to pass that instead. How to I reference it from within an event?
Does this make sense or is there a better way of doing it? Do I actually need a new page to create a new task - I don't think I can add new records in a table!
Thanks for the tip on ctrl: , I'm slowly getting the hang of the namespace thing.