Master / Detail (i think)

Hi,
i'm pretty new to spry, and i'm trying the following:
table: 4 columns: city_id, customer, description, image_city
got a "city map" (image w hotspots): 'onclick' city filters
all customers in that particular city in a <ul>, all other
columns shows up too. so far so good... but, i only want to show
the "city image" only once, and i only want to show the description
when the 'customer' is selected ( <li
spry:setrow="city">{city}</li> always gives the first
record, i want none till clicked)
How do i do this? tried several things, but no joy yet,
totally lost!!!
i've examples but are all in Dutch, thats why i wrote sample
above:
Thanks in advance
Web
XML

It was a bit hard for me to know what exactly you wanted
since the columns in your page didn't exactly match your
description ... for example, the first column was an image not a
city id, but in any case, are you after something like this?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Een Lint Vol Lust</title>
<script type="text/javascript"
src="SpryAssets/xpath.js"></script>
<script type="text/javascript"
src="SpryAssets/SpryData.js"></script>
</head>
<body>
<ul>
<li onclick="selectCity('8');">flindenhorst</li>
<li onclick="selectCity('5');">fhost</li>
<li onclick="selectCity('6');">fgroenoord</li>
<li onclick="selectCity('7');">freehorst</li>
<li onclick="selectCity('4');">fbreul</li>
<li onclick="selectCity('3');">fpavia</li>
<li onclick="selectCity('1');">fkosmos</li>
<li onclick="selectCity('0');">fzeist</li>
<li onclick="selectCity('2');">fbeek</li>
</ul>
<script type="text/javascript">
<!--
var ds1 = new Spry.Data.XMLDataSet("kunstenaars.xml",
"root/dataroot/kunstenaars");
var gDefaultBuitenplaatsId = '';
function selectCity(id)
// Save the new city.
gDefaultBuitenplaatsId = id;
// Tell the data set to re-filter.
ds1.filter(function(ds, row, index) { return
(row.buitenplaats_id == gDefaultBuitenplaatsId) ? row: null; });
// Now that we've filtered out rows, I think you want to
make sure that
// the current row for the data set is something in the
filtered
// results so that the image in the 1st column changes when
the
// customer list changes.
var curRow = ds1.getData()[ 0 ];
if (curRow)
ds1.setCurrentRow(curRow.ds_RowID);
// Hide all of the other fields except for the customers.
Spry.$("td3").style.display = "none";
Spry.$("td4").style.display = "none";
function showDetails()
Spry.$("td3").style.display = "table-cell";
Spry.$("td4").style.display = "table-cell";
//-->
</script>
<table width="940" border="0" align="left">
<tr align="left">
<th spry:detailregion="ds1" >{buitenplaats}</th>
<th spry:detailregion="ds1"
spry:sort="naam_kunstenaar"><u>Sorteer
Kunstenaar</u></th>
<th></th>
<th></th>
</tr>
<tr align="left">
<td id="td1" width="20%" valign="top"
spry:detailregion="ds1"><img src="{plaatje_buitenplaats}"
width="150" height="150" align="left" /></td>
<td id="td2" width="20%" valign="top"
spry:region="ds1"><ul>
<li spry:repeat="ds1" spry:setrow="ds1"
spry:hover="hover"
onclick="showDetails();">{naam_kunstenaar}</li>
</ul></td>
<td id="td3" width="20%" valign="top"
spry:detailregion="ds1" style="display: none"><img
src="{plaatje_kunstenaar}" width="150" height="150" align="left"
/></td>
<td id="td4" width="40%" valign="top"
spry:detailregion="ds1" style="display:
none"><b>{naam_kunstenaar}:
</b>{omschrijving_kunstenaar}</td>
</tr>
</table>
</body>
</html>
Note that you were using the multiple-filters extension which
really isn't necessary in your case, and just adds more code, so I
whittled it down to the single filter use case which I think is all
you need.
--== Kin ==--

Similar Messages

  • Questions on Master-Detail HTMLDB HOW-TO

    Hi all
    I have created a 3 page application based on the master detail how-to given at http://www.oracle.com/technology/products/database/htmldb/howtos/index.html
    Instead of DEPT and EMP tables I have PERSON and PERSON_ADDR tables. The PK of PERSON is the person_id and the PK of PERSON_ADDR is the person_id and addr_start_dt. Person_id column in PERSON_ADDR is obviously the FK to the master table PERSON(person_id).
    At first I had problems trying to create the pages themselves because the wizard always hides the person_id column on all the forms(and I don't want that,even though it is a sequence number I still want people to see it) , it being the PK, then somehow I managed it to display the person_id by replacing the EDIT link with the person_id itself. Now if a person already has an address and I click on EDIT then it copies the person_id values and others to the next page and all looks good but when I try to create a new address it does it ?? (It should take across the person_id as well)
    My PERSON report is on page 1, when I click edit against a person it takes me to page 2 where I can see+change all the person details plus I can see the person_addr details. When I click edit against a person address it takes me to page 3 and I can edit all the address details nicely copied to the new page but when I click CREATE on the page 2, then all the fields appear as NULL on page 3( all the fields but the person_id should be null here). How can I fix this ?
    Also, for my person address I would like to validate the address dates , there should be no overlapping start and end dates for a person's address. How to do this ? I think I will need to create a function to which I pass the person id and the new start and end dates and this function returns error message,if any, or null. I had a play around with validation and I think I need to use "function returning error text", what should I put in the "validate expression 1" box then...just something like
    begin
    my_function(param_1,param_2)
    end;
    If yes, then what variables would store the new start date and new end date of an address.
    Lastly, for every table do I have to user a sequence number or a trigger to define a primary key, what if the primary key is just a character code and I want the users to add it ?
    Thanks a lot in advance !!

    thanks Marc.
    Yes you are right, I used the 1.5 viewlet. I will try the master-detail wizard now.
    With the primary key problems, for things to work nicely in HTMLDB, do you suggest each and every tables should have a sequence number generated primary key ? We have some tables for various statuses like ACTIVE,CLOSED where these codes themselves are the primary keys, so you suggest making these codes unique keys but still have a sequence number PK ? Also when I want the users to enter the primary key themselves I will let them enter new ones but not update existing ones, so data entegrity is maintained.
    I was able to work out how to create validations using "functions returning error text" but my problem is I need to be able to compare what the user has just updated/entered with the data that already exists in the table. I have a table called person_Address having columns like person_id, start_dt,end_dt and various other fields. The primary key is person_id and start_dt and I need to put a validation which avoids any overlapping addresses. Overlap as in there can be only 1 active address for a given start and end date range. Does HTMLDB has something like :new.start_dt the way we can write database triggers ? Please suggest a way to do this.
    Lastly, how does HTMLDB handles error messages raised by table triggers. Can they be shown along with the item on the page as we can with the other HTMLDB validations ? I have many tables with all sorts of triggers and if any validation fails I generally do...raise_application_error(-20001,get_my_message(234));
    get_my_message function returns the message text for message number 234 . Will this message be displayed somewhere or not ? Do I have to duplicate my validations , once in the triggers and then in HTMLDB as well ?

  • What is the proper way to record line numbers in Master/Detail records?

    Guys and Gals,
    Been thinking about this for awhile, but thought it best to ask the people who really know what they are doing.
    What is the proper way to record & show line numbers in a Master / Detail record set?
    For example, take Master/Detail relationship Orders and OrderItems. Orders has a column Document_Number and OrderItems has Document_Number, Line_Number. Line_Number should contain the row number 1,2,3,4 ... etc. for each row in a document.
    Should I ...
    <ol><li>Add a sequence and a trigger in the database? The FusionOrderDemo does this, but then the sequence never "resets" and I've got row numbers that keep incrementing. So one document has rows 4,5,6 and the next document has 7,8,9 when they should both have 1,2,3.</li>
    <li>Programmatically take care of the row numbers? This seems like I'm asking for trouble. Anytime an insert or delete operation gets done, I'll have to iterate through rows and re-assign row numbers.</li>
    <li>Is there a way to assign row numbers in a table iterator (or data collection?) to an entity?</li></ol>
    Any suggestions would be appreciated. It's looking like #2 is my only option, but if anyone knows different I'd love the input.
    Will

    Thank you both guys.
    As John said, I believe I'm looking for a gap-free sequence per master record.
    The line number of the OrderItems table is the second half of the primary key. The first half of the primary key (DocumentNumber) is the foreign key to the Orders table.
    Think of it like line items on an order or invoice. For example, if you were talking to someone on the phone concerning an invoice, you might say, "The pricing for line item #3 is incorrect." In this case, it's good to have a common reference. Or imagine a Microsoft Excel spreadsheet with no row numbers displayed! You'd never get anywhere if you had to explain something over the phone.
    If this is tricky to perform, I take it using a sequence and trigger such as the Fusion Order Demo is the best way to approach the challenge for simplicity's sake?
    Will

  • Error trying to run a sample master-detail JSF form in Jdev 10.1.3

    I've tried JDeveloper 10.1.3 folowing a tutorial , master-detail one , involving Adf Faces which I found it here http://www.oracle.com/technology/products/jdev/101/tutorials/e2ebcfaces/buildmaster-detailpagewithjdevandadfbc.htm.
    1. I dowloaded JDeveloper 10.1.3
    2. I made -in Jdeveloper- a connection to OE8 schema
    2. I created an application with web application template ; in my new workspace i had 2 projects Model and ViewController
    3. In model i choose Business Tier - ADF Bussiness Components - Business Components from Tables and I followed instructions in tutorial
    4. In ViewController I created Web Tier - JSF - JSF JSP , with the JSF-JSP wizard a jsp page browseCustomerOrders.jsp. For building a master detail form i folowed instructions in tutorial
    However ...
    5. When I tried to run i received ....
    " [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    **** Unable to obtain password from principals.xml. Using default.
    D:\jdevstudio1013\jdev\system\oracle.j2ee.10.1.3.34.12\embedded-oc4j\config>
    D:\jdevstudio1013\jdk\bin\javaw.exe -ojvm -classpath D:\jdevstudio1013\j2ee\home\oc4j.jar;D:\jdevstudio1013\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config D:\jdevstudio1013\jdev\system\oracle.j2ee.10.1.3.34.12\embedded-oc4j\config\server.xml
    [waiting for the server to complete its initialization...]
    05/11/30 12:04:16 Exception in thread "OC4J Launcher" oracle.classloader.util.AnnotatedNoClassDefFoundError:
         Missing class: oracle.core.ojdl.logging.LoggingConfiguration
         Dependent class: com.evermind.server.XMLApplicationServerConfig
         Loader: oc4j:10.1.3
         Code-Source: /D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar
    The missing class is not available from any code-source or loader in the server.
    05/11/30 12:04:16      at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2073) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1681) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1633) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1618) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) [jre bootstrap, by jre.bootstrap]
         at com.evermind.server.XMLApplicationServerConfig.initJ2eeLogging (XMLApplicationServerConfig.java:243) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.XMLApplicationServerConfig.postInit (XMLApplicationServerConfig.java:255) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.xml.XMLConfig.init (XMLConfig.java:200) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.xml.XMLConfig.init (XMLConfig.java:117) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.ApplicationServerLauncher.run (ApplicationServerLauncher.java:74) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at java.lang.Thread.run (Thread.java:595) [jre bootstrap, by jre.bootstrap]
    05/11/30 12:04:16 Fatal error: server exiting
    Process exited with exit code 1. "
    Where do you think i am wrong?
    Many thanks

    Hi,
    the problem seems not to be within your application but in missing files on your embedded OC4J. Just try and unzip the JDeveloper 10.1.3 install again.
    Frank

  • Refresh of Master/Detail does not work after validation failure

    After page validation stops further page processing of a Master Detail page,  I get the following Oracle Error on display of the Detail portion :
    <code>
    ORA:01445: Cannot select ROWID from, or sample, a join view without a key preserved table.
    ORA-06510 - PL/SQL unhandled user-defined exception.
    </code>
    Any clues as to why this might occur?  The Master portion of the page displays fine along with the appropriate custom validation error message. It is just the detail portion (from a SQL based report) that is causing the problem.  I do not use a ROWID either! 
    Thanks!

    Just an FYI for everybody who may have this very same problem in the future.  I fixed the error and it had nothing to do with ROWID or views or anything like that.  Under the Page Rendering section where you define the region definition under the source section, I had included the 'order by' clause in my SQL statement.  This was the cause of my ORA-01445 error!  When I removed the clause from the source definition and instead included it within the Report Attributes by checking the Sort box for the appropriate column (thus allowing APEX to generate the sort for me), the error disappeared!  The Oracle error message would NEVER have given me a clue into what caused the error.  I just happened to think 'what if I take the order by clause out'!  How's that for a flukey fix! 

  • Problem with apply changes on master-detail with respect to date handling

    dear sir,
    i have one tabler where in i have created from_Date and to_date as varchar2(30) each. I stored the from date as 'dd-mon-yyyy hh24:mi' I had written before header process for calculating no of days between from_Date and to_Date using the said format. If to_Date is null then first i store the value as
    to_char(sysdate,'dd-mon-yyyy hh24:mi') and then convert it as to_Date(substr(to_Date,1,17),'dd-mon-yyyy hh24:mi'). this calculation of days procedures works fine in sql command mode.
    when i am handling through master-detail page i works fine when there is null value inf to_Date vc2 column. if i store using date picker dd-mon-yyyy hh24:mi, the data is getting stored but subsequent edit through master detail give error as ora-01722 unable to fetch row. Manually if i set the to_Date as null pages works fine. I spent lots of time and unable to understand the mistake i do.
    if anybody could help me, i will be much obliged.
    thanking you,
    yours
    dr.s.raghunatha

    I think the best would be if you create an example on apex.oracle.com and I will debug it.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    ------------------------------------------------------------------------------

  • Master-detail list - how to spread over multiple columns

    I am using the master-detail functionality to create a image viewer.
    I have a long list of master thumbnails, and rather than having them go down the page in one column, I would like to make them spread over 2 or 3 columns before the detail column. 
    (example of format I am trying to achieve - http://www.franbainbridgephotography.com.au/gallery.html (I dont mind whether master thumbnails are on right or left of detail photo))
    You can see my problem on http://www.wcwra.com/webpages/images.php
    Is this possible with the master-detail functionality?
    Thank you!

    The brilliant David Powers has fixed this for me on the main forum (vw2ureg was v close).  David's answer is :
    There is no way of making a single dataset repeat in multiple columns, because it's simply one element being repeated over and over.
    However, with a little out of the box thinking, you can do it quite easily with thumbnails. Instead of putting the master column repeat region in a block level element, use an inline element, <span>. Images are treated by browsers as inline elements, so this should work just fine. Change the following code from this:
    <div spry:region="dsPhotos" class="MasterContainer">
        <div class="MasterColumn" spry:repeat="dsPhotos" spry:setrow="dsPhotos"
        spry:hover="MasterColumnHover" spry:select="MasterColumnSelected">{Caption}</div>
    </div>
    to this:
    <div spry:region="dsPhotos" class="MasterContainer">
        <span class="MasterColumn" spry:repeat="dsPhotos" spry:setrow="dsPhotos"
        spry:hover="MasterColumnHover" spry:select="MasterColumnSelected">{Caption}</span>
    </div>
    In your CSS, set the width of the MasterColumn class to the width of your thumbnails, and the width of MasterContainer so that it's wide enough to accommodate two or more thumbnails. The thumbnails will flow into the column two or three abreast.

  • Detail-Disclosure problem with Master- Detail VO

    Hi,
    I have UIX pages based on Master - Detail VO, detail data being shown when you press Detail button on the left, detail data display in the BC4J Table correctly, but I am able to update only the last record of the rowset. when I click on the first master detail and press update button i get Null Pointer Exeception error and other problem is that my detail data has sorted headers, when i click on the sorted column header, it close the Detail portion on the Table.
    Here is UIX page listing, please any one review the code and let me what is wrong
    Thanks
    View Page
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    xmlns:viewpage="http://www.example.org/siriusbilling/templates">
    <ctrl:head xmlns="http://www.w3.org/TR/REC-html40">
    <title>View Properties</title>
    </ctrl:head>
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="templates/SiriusBilling.uit"/>
    </templates>
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="PropertiesForeignKeyLink1AppModule"
    definition="siriusbilling.SiriusBCModule"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="PropertyTypesMasterView"
    rangeSize="2" />
    <bc4j:viewObjectDef name="PropertiesDetailView"
    rangeSize="5" />
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <viewpage:siriusPageLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents>
    <link text="View Properties" />
    </contents>
    </globalHeader >
    </pageHeader>
    <contents>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui" >
    <catch>
    <displayException />
    </catch>
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true" />
    <bc4j:rootAppModuleScope name="PropertiesForeignKeyLink1AppModule" >
    <contents>
    <header text="Properties Search" >
    <contents>
    <form name="search" method="POST" >
    <contents>
    <inlineMessage prompt="Search by:" vAlign="middle" >
    <contents>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <flowLayout>
    <contents>
    <choice name="attrName"
    data:selectedValue="attrName@ctrl:page"
    shortDesc="Search Column">
    <contents>
    <option text="Property Id" value="PropertyId" />
    <option text="Property Name" value="PropertyName" />
    <option text="Property Description" value="PropertyDescription" />
    <option text="Unit Of Measure" value="UnitOfMeasure" />
    </contents>
    </choice>
    <textInput prompt="Criteria" name="attrValue" columns="20"
    data:text="attrValue@ctrl:page"
    shortDesc="Search Criteria for Propeties"/>
    </contents>
    </flowLayout>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    <end>
    <submitButton text="Go" ctrl:event="search" />
    </end>
    </inlineMessage>
    </contents>
    </form>
    </contents>
    </header>
    <spacer width="10"/>
    <separator />
    <header text="Property Types" >
    <contents>
    <form name="viewForm" method="POST" >
    <contents>
    <bc4j:viewObjectScope name="PropertyTypesMasterView" >
    <contents>
    <bc4j:table name="viewPropertyTypeTable" automatic="false"
    width="100%" alternateText="No rows found"
    formSubmitted="true"
    partialRenderMode="self"
    data:detailDisclosure="tableDetails@ctrl:eventResult">
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key" />
    </bc4j:keyStamp>
    <contents>
    <!-- placing the region in automatic mode will cause the key
    named child to be rendered, followed by each attribute
    in the ViewObject using the attrStamp named child. -->
    <!-- A bc4j:column element is added for each attribute
    in the ViewObject. -->
    <bc4j:column attrName="PropertyType">
    <columnHeader>
    <bc4j:sortableHeader text="Property Type"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="TableName">
    <columnHeader>
    <bc4j:sortableHeader text="Table Name"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="Comments" >
    <columnHeader>
    Comments
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </contents>
    <detail>
    <flowLayout>
    <contents>
    <header text="Properties Detail">
    <contents>
    <spacer width="10"/>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <!-- placing the table in automatic mode will cause the table
    to contain the keyStamp named child followed by the
    columnStamp named child for each attribute in the
    ViewObject. -->
    <bc4j:table name="viewTable" automatic="false"
    width="100%" alternateText="No rows found"
    formSubmitted="true"
    partialRenderMode="self">
    <tableSelection>
    <!-- single selection for each row in the table -->
    <singleSelection selectedIndex="0" text="Select Row and ...">
    <contents>
    <submitButton text="Create" ctrl:event="create" />
    <!-- the update button causes the currently selected
    row to be sent to the update page -->
    <submitButton text="Update"
    ctrl:event="update" />
    <!-- the delete button causes the currently selected
    row to be removed -->
    <submitButton text="Delete"
    ctrl:event="delete" />
    </contents>
    </singleSelection>
    </tableSelection>
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key" />
    </bc4j:keyStamp>
    <contents>
    <!-- A bc4j:column element is added for each attribute
    in the ViewObject. -->
    <bc4j:column attrName="PropertyId">
    <columnHeader>
    <bc4j:sortableHeader text="Property Id"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="PropertyName">
    <columnHeader>
    <bc4j:sortableHeader text="Property Name"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="PropertyDescription">
    <columnHeader>
    <bc4j:sortableHeader text="Property Description"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="UnitOfMeasure">
    <columnHeader>
    <bc4j:sortableHeader text="Unit of Measure"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </contents>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    <formValue name="disclosed" value="true" />
    </contents>
    </header>
    </contents>
    </flowLayout>
    </detail>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </form>
    </contents>
    </header>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    </try>
    </contents>
    </viewpage:siriusPageLayout>
    </ctrl:content>
    <handlers>
    <event name="search" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- search for the view criteria -->
    <bc4j:findByExample>
    <bc4j:exampleRow ignoreCase="true" >
    <bc4j:exampleAttribute>
    <bc4j:nameBinding><bc4j:parameter name="attrName" /></bc4j:nameBinding>
    <bc4j:valueBinding><bc4j:parameter name="attrValue" /></bc4j:valueBinding>
    </bc4j:exampleAttribute>
    </bc4j:exampleRow>
    </bc4j:findByExample>
    <bc4j:executeQuery/>
    <!-- store the current search criteria as page properties -->
    <bc4j:setPageProperty name="attrName" >
    <bc4j:parameter name="attrName" />
    </bc4j:setPageProperty>
    <bc4j:setPageProperty name="attrValue" >
    <bc4j:parameter name="attrValue" />
    </bc4j:setPageProperty>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="first" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the first department -->
    <bc4j:first/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="previous" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the previous department -->
    <bc4j:previous/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="next" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the next department -->
    <bc4j:next/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="last" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the last department -->
    <bc4j:last/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewPropertyTypeTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewPropertyTypeTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="create" >
    <!-- forward to the create page -->
    <ctrl:go name="InsertProperties" redirect="true" />
    </event>
    <event name="update" >
    <!-- forward to the update page, passing the selected key
    as a page property -->
    <ctrl:go name="UpdateProperties" redirect="true" >
    <ctrl:property name="key" >
    <ctrl:selection name="viewTable" key="key" />
    </ctrl:property>
    </ctrl:go>
    </event>
    <event name="delete" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- find the selected Row -->
    <bc4j:findRowByKey>
    <bc4j:keyBinding>
    <bc4j:selectionKey name="viewTable" key="key" />
    </bc4j:keyBinding>
    <bc4j:handlers>
    <!-- remove the selected ViewObject row -->
    <bc4j:removeRow />
    <!-- execute the query to eliminate dead row access -->
    <bc4j:executeQuery/>
    </bc4j:handlers>
    </bc4j:findRowByKey>
    </bc4j:findViewObject>
    <!-- commit the transaction, forwards to self automatically -->
    <bc4j:commit/>
    </bc4j:findRootAppModule>
    </event>
    <event name="show">
    <method class="servlet.showDetails" method="doHideShowEvent" />
    </event>
    <event name="hide">
    <method class="servlet.showDetails" method="doHideShowEvent" />
    </event>
    </handlers>
    </page>
    Update View
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    xmlns:updatepage="http://www.example.org/siriusbilling/templates">
    <ctrl:head xmlns="http://www.w3.org/TR/REC-html40">
    <title>Update Properties</title>
    </ctrl:head>
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="templates/SiriusBilling.uit"/>
    </templates>
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="PropertiesForeignKeyLink1AppModule"
    definition="siriusbilling.SiriusBCModule"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="PropertiesDetailView" >
    <bc4j:rowDef name="UpdatePropertiesDetailView" autoCreate="false" usesCurrency="true">
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    <!-- Display only 20 rows -->
    <bc4j:viewObjectDef name="PropertyTypesView" rangeSize="20" >
    <bc4j:rowDef name="UpdatePropertyTypesView" autoCreate="false">
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <updatepage:siriusPageLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents>
    <link text="Update Property" />
    </contents>
    </globalHeader >
    </pageHeader>
    <contents>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui" >
    <catch>
    <displayException />
    </catch>
    <contents>
    <switcher childName="default">
    <boundAttribute name="childName">
    <if>
    <comparison type="equals">
    <dataObject select="key" source="ctrl:page"/>
    <dataObject source="ui:null"/>
    </comparison>
    <fixed text="error"/>
    </if>
    </boundAttribute>
    <case name="error">
    <header text="Required page property 'Property Type' missing. Cannot display page."/>
    </case>
    <case name="default">
    <flowLayout>
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true" />
    <script>
    <contents>
    function UOMLovCallBack(lovwin, event)
    var value = lovwin.returnUOMValue;
    if (value!=(void 0))
    document.updateForm.UnitOfMeasure.value = lovwin.returnUOMValue;
    </contents>
    </script>
    <form name="updateForm" method="POST" >
    <contents>
    <!-- we cannot implicitly determine that events
    will be triggered because submit buttons are
    outside the form scope, so add the placeholder
    explicitly -->
    <formParameter name="event" />
    <!-- layout the fields in two columns -->
    <spacer width="10"/>
    <tableLayout width="80%"
    cellPadding="2"
    hAlign="center">
    <contents>
    <bc4j:rootAppModuleScope name="PropertiesForeignKeyLink1AppModule" >
    <contents>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <bc4j:rowScope name="UpdatePropertiesDetailView" >
    <contents>
    <bc4j:messageChoice prompt="Property Type" attrName="PropertyType" name="PropertyType">
    <contents>
    <bc4j:optionList voName="PropertyTypesView" attrName="PropertyType" textAttributeName="PropertyType" size="30"/>
    </contents>
    </bc4j:messageChoice>
    <bc4j:messageInput prompt="Property Id" vAlign="left" attrName="PropertyId" size="30"/>
    <bc4j:messageInput prompt="Property Name" attrName="PropertyName" size="30"/>
    <bc4j:messageInput prompt="Property Description" attrName="PropertyDescription" size="30" />
    <bc4j:messageLovField prompt="Unit Of Measure"
    attrName="UnitOfMeasure"
    name="UnitOfMeasure"
    onClick="openWindow(window,
    'UOMLov.uix',
    'lovwin',
    {width:480, height:300},
    true,
    'dialog',
    UOMLovCallBack);
    return false;" />
    </contents>
    </bc4j:rowScope>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    </tableLayout>
    </contents>
    </form>
    </contents>
    <contents>
    <contentFooter>
    <contents>
    <html:center>
    <!-- place a row of buttons below the content -->
    <pageButtonBar>
    <contents>
    <!-- the cancel button performs a transaction rollback -->
    <button text="Cancel" ctrl:event="cancel" />
    <!-- the update button submits the user-entered
    form data -->
    <submitButton text="Update" formName="updateForm"
    ctrl:event="apply" />
    </contents>
    </pageButtonBar>
    </html:center>
    </contents>
    </contentFooter>
    </contents>
    </flowLayout>
    </case>
    </switcher>
    </contents>
    </try>
    </contents>
    </updatepage:siriusPageLayout>
    </ctrl:content>
    <handlers>
    <event name="cancel" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- rollback the current transaction -->
    <bc4j:rollback/>
    <!-- forward to the summary page -->
    <ctrl:go name="ViewProperties" redirect="true" />
    </bc4j:findRootAppModule>
    </event>
    <event name="apply" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- find the row by key, falling back on a new default
    row if the key is not found -->
    <bc4j:findRow name="UpdatePropertiesDetailView" >
    <!-- set each attribute explicitly -->
    <bc4j:setAttribute name="PropertyId" />
    <bc4j:setAttribute name="PropertyType" />
    <bc4j:setAttribute name="PropertyName" />
    <bc4j:setAttribute name="PropertyDescription" />
    <bc4j:setAttribute name="UnitOfMeasure" />
    <!-- commit the transaction -->
    <bc4j:commit/>
    <bc4j:executeQuery/>
    <!-- forward to the summary page -->
    <ctrl:go name="ViewProperties" redirect="true" />
    </bc4j:findRow>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    </handlers>
    </page>

    I think the detailDisclosure state needs to be saved and retrieved from the session.
    I'm not sure using a table with singleSelection inside a detail disclosure is supported. Are you doing master-detail inside of detail disclosure? Detail disclosure is not really meant for that. In jdev 10g preview we make hooking up a master-detail easy. Here's a link to some doc about it.
    http://otn.oracle.com/products/jdev/collateral/tutorials/9050/adfuix_tut.html#Create%20a%20Master-Detail%20page

  • Creating a new row in a master detail VO relation and its consequences.

    Hi,
    I'm currently facing a lot of problems which make me doubt if my perception about the whole ADF entity-view object mechanism is right.
    I have a page which displays data from a master detail VO relation (master offer - detail officeinfo). I also have a small dialog LOV window which makes it possible for me to select an office to match up with the current offer... Both the office LOV and the officeInfo detail use the same Office entity object.
    This worked perfectly fine until I wanted to add create NEW offers. I created my own insert method which basically performs a createRow on the master VO and inserts the newly created row in this VO. On a sidenote, I also fill out some default data read from a property file, which is why I decided to implement my own insert method in the first place.
    Initially, the problem was that the inputText fields of the detail VO (OfficeInfo) were not displayed at all. I imagined that I also had to perform the create and insert methods on the detail VO and indeed, from that point on all inputText fields were displayed and my page was ready for input.
    Yet today, I notice that in my Office LOV which is based on the same entity as the one my detail OfficeInfo VO uses, this newly created row is ALSO visible. To me this is quite unwanted and surprising behavior. I did not expect the row already to be visible in the LOV, since basically it's just an empty row ready for input...
    Am I perceiving things wrong? Or anyone has a nice solution to fix this?
    Thanks,
    Douglas

    Hi Douglas,
    It is happening because you have created an updateable office LOV which is based on same entity object used to save your newly created records.
    Use readonly LOV based on plsql query in your page and you can keep rest of the thing as it is.
    I think it will solve your problem.
    Cheers,
    Suyog

  • Is this a bug? master rowid value lost when saving on a master/detail form

    master/detail forms seem to lose the rowid after saving, if the unique identifier is set to ROWID
    to reproduce the problem:
    1) create a master detail form on DEPT/EMP
    -- choose 'Managed by Database (ROWID)' on the 'Define Primary Key' page.
    -- do not include master row navigation (but i don't think this matters)
    -- choose 'Edit detail as tabular form on same page' on the 'Choose Layout' page
    -- include the master report
    2) on the master/detail page, change the conditional branch that returns to the master report page
    -- the normal condition for this branch is request in SAVE,DELETE,CREATE
    -- change it to request in DELETE,CREATE
    3) run the form and save a change
    -- saves fine, session shows the ROWID value is still set
    4) save a second change
    -- change does not save, form reverts to Create mode
    this problem does not occur when using the primary key columns instead of rowid
    see http://apex.oracle.com/pls/apex/f?p=60813:7 for the ROWID version
    see http://apex.oracle.com/pls/apex/f?p=60813:11 for the PK column version

    Hi Saverio,
    Bug *13563808* has been logged to track the reported issue, and a fix will be made available in a future release. Just to clarify, this issue is only arising when the APEX-generated Master-Detail is modified post-generation, so for users who have not modified their Master-Details using ROWID to manage their DML processes, they should not experience this issue.
    In relation to my workaround, my suggestion works in my test environment, which I verified before posting the initial suggestion. Please note that the 'Reset Page' process is, by default, conditional on the "Delete" button being pressed. If you have made further modifications to your Master-Detail page, then this might explain why you're seeing different behaviour to me. You might using the "Debug" option on the Developer Toolbar useful. Viewing the debug information should help you to decipher what's going on/wrong on your page. If you still can't resolve the issue, then the safest option might be to revert the page back to it's original state, meaning the user navigates back to the Report page upon submitting changes to the Master-Detail Form page.
    Regards,
    Hilary

  • How to determine the ROWNUM in a Master Detail Form

    Hello,
    I am working in a Master Detail Form with Orders and Order Items Information; and I created a process that allows the users to select a Product ID on a tabular form, and the next column is populated automatically with the Product Description.
    To achieve that, I followed some instructions by Denes Kubicek (http://apex.oracle.com/pls/otn/f?p=31517:241), but my case is slightly different:
    <ul>I am using a wizard-created tabular form, instead of a manual tabular form; and </ul>
    <ul>Instead of using another page as a Popup to pass the parameter of the ROWNUM, I am using a plug-in called “Tabular Form Super LOV” which is a modified version of the SkillBuilders’ Super LOV that works on Tabular Forms. </ul>
    The Product ID is returned in the correct row by the plug-in; but in the case of the Product Description, it is always returned into the first row; and my problem is that I don't know how to determine the row where the user clicked to call the plug-in.
    I set up an example in apex.oracle.com in case someone would like to look at it:
    Workspace: ediazjorge
    Username: test
    Password: test
    App Name: Sample App
    App Number: 1550
    BTW, I am using Apex 4.1.1.00.23 and Oracle DB 10.3.2.
    Thanks in advance,
    Erick

    Hello VC,
    Thank you for your time and help.
    Unfortunately, it is still not working properly:
    1. When the Popup LOV opens, the first row of the tabular form is 0, the second row is 1, and so on. How can I assign the values starting with 1 and in the format *0001* ? (I am still a novice on Apex and new to JavaScript :-), sorry about that).
    --2. Also, when I close the Popup LOV, the value of P1_ROWNUM is ‘undefined’ again so I'm not sure if the Product Name column will be populated.--
    3. And finally, you are using the jQuery Selector uPopupLOVIcon, which is an attribute of the Cloudy Theme. In my real application (Apex 4.1.1.00.26), my element looks like: *<img src="/i/lov_16x16.gif" width="16" height="16" alt="Popup Lov" alt="List" style="vertical-align:middle;" align="middle" />*. What do you recommend me to use as a jQuery Selector?
    Again, I really appreciate your help and time. I think you solved the most difficult part.
    Thank you so much,
    Erick
    Update: I just found out that the problem with my comment 2 is because I didn’t delete the previous dynamic action that set the value to P1_ROWNUM.
    Edited by: ediazjorge on Sep 18, 2012 11:20 AM

  • Master Detail on same page

    Hi,
    I have a custom master detail requirement. The page is currently only for CREATE, no query requirement. There are 2 custom tables involved and a common column (process_id).
    When I only have the MASTER detail on the page (VO-EO) and save it is fine, saves to table1.
    Now I want to add the ability to save 1..* records in the detail table.
    So I navigate to page, enter the master data as above, tab down to the detail section and enter a number of fields (say 3 new rows of detail).
    What are the basic steps to go about this. I appreciate there is some information in the Dev guide but it is a bit complex for what I require I think.
    I am thinking (and currently tying).
    Create new EO for detail table
    Create new VO for detail
    Create an EO association (is this needed???)
    Create a View Link between master and detail.
    Associate the VO with the same AM as the master.
    Add a new table region to the form...
    Now this all works in that I can display above. What is required to allow me to save successfully after entering the data.
    This is an urgent request, so any help much appreciated.
    Robert

    PPR to the rescue!
    Try changing the singleSelection element to include your additional field in it's targets list. eg:
    <singleSelection
      model="${bindings.OtherView1Iterator}"
      text="Select and ">
      <primaryClientAction>
        <firePartialAction
             targets="_uixState MyOtherFantasticField"
             source="OtherView112"
             event="select"/>
      </primaryClientAction>
    </singleSelection>And you'll need to add an id to your field such as:
    <messageTextInput
      model="${bindings.blah}"
      id="MyOtherFantasticField"/>Hope this helps.
    CM.

  • Weird Problem with Add Row Button in Master Detail Page

    I have a page that was created with a Master Detail Wizard. When I click the Add Row button on our Production Environment, the row counter increments BUT no blank row shows on the screen.
    In our Development Environment, when I click the Add Row button, a blank row appears as expected. Thinking there was some problem with the production app, I exported the Dev version and imported into Production. Still no blank row.
    Thinking perhaps it had something to do with the data, I copied our production application data back into the development application tables. Still, the development app creates the blank row where the production version does not.
    I even used the same browser window for both environments and still get the same results. This was working fine in production then just stopped one day.
    The only clue I have is that the Add Row WILL work if the Master Record has no details or less than a page worth. It seems to happen when the detail records are more than one page worth. Also, when I click the Add Row button, it goes to the last page of the list (say three pages of 10, 10, 6) but no blank row shows up. Again, works fine in the development environment no matter how many pages.
    Any ideas or suggestions why this is happening? Could there be some environment setting that is causing this to happen?

    I have a page that was created with a Master Detail Wizard. When I click the Add Row button on our Production Environment, the row counter increments BUT no blank row shows on the screen.
    In our Development Environment, when I click the Add Row button, a blank row appears as expected. Thinking there was some problem with the production app, I exported the Dev version and imported into Production. Still no blank row.
    Thinking perhaps it had something to do with the data, I copied our production application data back into the development application tables. Still, the development app creates the blank row where the production version does not.
    I even used the same browser window for both environments and still get the same results. This was working fine in production then just stopped one day.
    The only clue I have is that the Add Row WILL work if the Master Record has no details or less than a page worth. It seems to happen when the detail records are more than one page worth. Also, when I click the Add Row button, it goes to the last page of the list (say three pages of 10, 10, 6) but no blank row shows up. Again, works fine in the development environment no matter how many pages.
    Any ideas or suggestions why this is happening? Could there be some environment setting that is causing this to happen?

  • Master Detail Screen in Oracle ADF 11g

    Hi Gurus,
    I am facing an issue with the master detail page. The page is meant for entring master detial information. The page has two view objects based on entity objects which are based upon the master and detail tables.
    I am using the Jdeveloper version 11.1.2.3.0 ( Jdeveloper 11g release 2). on Windows 7 on the embedded weblogic server ( included in the jdeveloper).
    Structure of Master and Detail Table are
    Master (pk1,attr1,attr2);
    Detail (pk1,pk2,attr1,attr2);
    The detail table is having a composite primary key in which pk1 is a foreign key and pk2 is incremented for each pk1, hence the value is like (1,1), (1,2),(1,3) ... etc.
    Now i have created a create insert operation in the page from the detail view object. And for generating the new pk2 value in the detail row i have written the logic in the doDML() method of the detail entity object.
        protected void doDML(int operation, TransactionEvent e) {
            System.out.println(operation);
            if (operation == DML_INSERT) {
                    DBTransaction trans = getDBTransaction();
                    String sql = "select max(nvl(pk2,0))+1 from xyz_detail where pk1="+this.getPk1().toString();
                    System.out.println(sql);
                    PreparedStatement pstmt =trans.createPreparedStatement(sql,0);
                    try{
                    ResultSet rs = pstmt.executeQuery();
                        rs.next();
                        System.out.println(rs.getString(1));
                        this.setPk2(rs.getString(1));
                        rs.close();
                    } catch (SQLException excp){
                            this.setPk2("Error");
                            System.out.println("Inside exception");
                        excp.printStackTrace();
            super.doDML(operation, e);
        }Now , when i am creating a single record and commiting the transaction the value of the pk2 in detail is generated and saved properly, how ever when i am generating multiple rows at once and then commitng the transaction noting is being done, neither the value of pk2 is being generated nor the rows afre commited please guide me accordingly.
    May be the answer of this question be in the behaviour of DBTransation , i am creating multiple rows and the calling the #{bindings.commit.execute} , what is the behaviuor of this commit, i think it should commit all the uncommited work, and apart from this as the logic is written in the doDML() method it must fire for every row of data created in detail once.
    Please Guide me accordingly.

    Hi,
    try these ways: override a create method in the Entity or use a groovy expression for default value of the attribute
    this post uses a sequence but it's the same
    http://one-size-doesnt-fit-all.blogspot.com.es/2009/03/adf-bc-using-groovy-to-fetch-sequence.html

  • Master - detail

    Hi all,
    I did search for master detail posts, but didn't find what I was looking for. So if you feel that this has been answered a long time ago...don't hesitate to point me to those posts :-)
    This is for a home-project so...no pressure, but I can't get it working so .... here is it :
    In a web application (JSF 1.2) (visual java server faces)
    I have a table with master data :
    content.jsp
    <webuijsf:table augmentTitle="false" binding="#{content.content_tb}" id="content_tb" style="left: 24px; top: 96px; position: absolute; width: 0px" title="Table" width="1100">
        <webuijsf:tableRowGroup binding="#{content.content_rg}" id="content_rg" rows="10" sourceData="#{content.contentDataProvider}" sourceVar="currentRow">
            <webuijsf:tableColumn headerText="id" id="tableColumn1" sort="content.id" width="100">
                <webuijsf:hyperlink actionExpression="#{content.content_id_hl_action}" id="content_id_hl" text="#{currentRow.value['content.id']}"/>
            </webuijsf:tableColumn>
            <webuijsf:tableColumn headerText="naam" id="tableColumn2" sort="content.naam" width="100">
                <webuijsf:textField id="textField1" text="#{currentRow.value['content.naam']}"/>
            </webuijsf:tableColumn>
            <webuijsf:tableColumn headerText="categories" id="tableColumn3" width="100">
                <webuijsf:dropDown binding="#{content.dropDown1}" converter="#{content.dropDown1Converter}" id="dropDown1" items="#{content.categoriesDataProvider.options['categories.id,categories.naam']}" selected="#{currentRow.value['content.categories_id']}"/>
            </webuijsf:tableColumn>
    ...As you can see the first column in this table is the ID column which is a hyperlink.
    This hyperlink links to a detail page in which one can do updating to the content.
    The better part of this detail page is :
    Update.jsp
    <webuijsf:form id="form1">
        <webuijsf:hyperlink actionExpression="#{update_content.comasy_admin_hl_action}" id="comasy_admin_hl" style="left: 24px; top: 24px; position: absolute" text="Comasy_admin"/>
        <webuijsf:hyperlink actionExpression="#{update_content.content_hl_action}" id="content_hl" style="left: 120px; top: 24px; position: absolute" text="Content"/>
        <webuijsf:label id="label1" style="left: 24px; top: 0px; position: absolute" text="Comasy-admin"/>
        <webuijsf:button id="apply_bt" style="left: 23px; top: 48px; position: absolute" text="Apply"/>
        <webuijsf:label id="label2" style="left: 24px; top: 72px; position: absolute" text="Title"/>
        <webuijsf:textField id="title_tf" style="left: 120px; top: 72px; position: absolute" text="???????????????????????"/>
        <webuijsf:messageGroup id="messageGroup1" style="left: 408px; top: 24px; position: absolute"/>
    </webuijsf:form>
    ...My problem is now at the place where the ???? are.
    I want the textfield (title_tf) to be populated with the value which is in the cachedrowsetdataprovider for the particular row I clicked the hyperlink on.
    Do you have any idea what value expression I should use?
    I was thinking myself something like :
    "#{content.contentDataProvider.????????????}"
    Can someone point me into the rigth direction
    Best regards
    Martijn

    I solved the problem myself YIHAAA.
    Probably not the smartest way to solve it, but hey..it works and...I've got to learn somehow.
    In the end I didn't use value expressions (which I still think would be a more beautifull solution).
    When clicking the command_link I fill a proporty of the sessionbean whith the rowkey of the selected row. When JSF has navigated me to the detailpage I retrieve the value from the sessionbean. With the retrieved rowkey I can fill the other neccesary fileds in the detailpage in the _init() from the backing bean of the detail page:
    Master page conatains the following (action for the command_link):
    public String content_id_hl_action() {
            getSessionBean1().setContent4update(content_rg.getRowKey());
            return "case3";
        }detail page contains:
    private void _init() throws Exception {
            crsdp.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.contentRowSet}"));
            title_tf.setValue(crsdp.getValue("naam", getSessionBean1().getContent4update()));
            body_ta.setText(crsdp.getValue("body", getSessionBean1().getContent4update()));
        }thanx for thinking with me
    Regards Martijn

Maybe you are looking for

  • How to Read TDMS Files in Matlab in OSX

    Using the example found on the NI website (http://digital.ni.com/public.nsf/allkb/0EEADA99DC​7D00A4862572E30037C3A2), I am able to read my TDMS files into Matlab when using a PC.  However, when I try to read them on my Mac, I receive an error: ??? Th

  • RLS Implementation in EPM Workspace 11.1.2.2

    Hi all, I'm facing an issue while implementing Row Level Security in Workspace. The error goes like this: "Error Accessing Row level security information Server Error: 1012 Unable to acquire row level security information from repository ..........".

  • Roles in NWBC 4.0

    Hi all I am new in NWBC 4 and I am having this problem about authorizations: I created a page with page builder successfully. I tried to use this page and on simple lookup object (customer for example): I get a message "XD03" is not present in user a

  • Drag and drop issues.  I'm not alone.

    So clearly I'm not the only one dealing with this, I've seen other topics with people running into this problem. All of a sudden last night I was unable to drag and drop stuff around, copy and past, run a new program and I have no Spotlight. I've res

  • Version 8.6 versus Versus 11

    I compiled the program in 8.6 with out any problems. But I had too change 4 numbers. Now I keep getting this message. I am very new to version 11. Any suggestions. Thanks Philip Attachments: Capture.PNG ‏27 KB