ADF UIX: How to define a binding's subtype?

In an ADF-UIX project, we have deleted a binding which had been automatically created by a drag and drop operation that generated a multirecord master-detail form.
When we try to recreate the binding using the binding editor (in application navigator, mouse right click and select the ...UIModel.xml file -> Create Binding), we choose to create a binding of type "range" (since the icon is of the same type than the icons for bindings generated automatically for a multirecord detail), however we get a binding of subtype "DCTable" instead of a "DCHGrid". There doesn't seem to be any way to create a "DCHGrid" binding and the UIModel.xml file is not editable.
The problem is that the DCTable doesn't render properly when the UIX form is run.
Any suggestions?

The reason for deleting it was because the Data Binding is not always correclty refreshed after a column is added to the underlying VO. Initially we thought it would be necessary to recreate the binding, but using the drag & drop method would have been costly as the form was complex and a lot had been modified after the initial drag & drop operation.
The case where the refresh on the binding is not made is when the binding is displaying all the attributes available within the iterator. Surprisingly, if the binding is only using a subset of the attributes of the iterator, then a new attribute on the underlying VO is immediately displayed.

Similar Messages

  • UIX: How to invoke List Binding Editor?

    When building input form, I am dropping some message choice components which then automatically opens List Binding Editor.
    However, if I want to modify something, how to invoke List Binding Editor for the EXISTING component on the UIX page?

    0. With your UIX page active in the editor
    1. Select the "UI Model" tab in the Structure Window
    2. Select the list binding in the UI model
    (also known as your binding container)
    3. Right-mouse Edit...

  • ADF-UIX- How to populate multiple input fields from an lov?

    Like in Forms Developer where using an LOV we can populate multiple tex input items on selection of a value from the LOV, is it possible for us to do the same in ADF UIX.
    Iam usiing JDeveloper 10.1.2

    Have a look at this previous post:
    Re: Can return messageLovinput more than one value?

  • ADF/UIX - How NOT to loose currentRow? Iterator issue?

    Hi All,
    I'm having a bit of a problem in keeping maintaining the state of a couple of views across pages; I'm hoping I'm just doing this wrong and someone can point me in the right direction.
    Environment: ADF/UIX
    1) From the first page the views (used in dropdowns) are manipulated and the current row set appropriately (I traced the app module and rows are indeed pointing where they should)
    2) In an event handler <go name="Page2"/> is executed
    3) Page2 references the views from the datacontrol used in Page1 (note that identical bindings are used) but the current row is lost. Tracing through the app module confirms that the current row is set to the first row.
    Q1) Is there a way to keep iterators from being reset?
    if not...
    Q2) If not, is there a method on the AppModule on Views that can be overloaded to set the current row BEFORE the page displays?
    Thanks in advance!
    /SFL

    Thanks for the prompt reply Gabrielle!
    I did a bit more testing and in fact it's one view which was causing the problem. A new row is created (and commited) for this view through the AppModule like this:
    ViewXRowImpl row = vo.createRow();
    row.setX( "...");
    row.setY( "...");
    vo.insertRow(row);
    vo.setCurrentRow(row);
    try{
       this.getTransaction().commit();
      }catch(Exception e)
        e.printStackTrace();
      }I hadn't realized that the iterator would get reset after a commit. Fetching the key before the commit and doing a findbykey afterwards solved the problem.
    I think I'll implement a base view class that uses beforeCommit and afterCommit to set the iterator back to the desired location. I'm a bit surprised that it isn't the default behaviour though...
    Thanks again for the help!

  • ADF UIX: How to use MessageCheckbox to trigger a component to be rendered?

    I have two UIX component:
    messageCheckBox model="${bindings.Servicelocal}"
    and messageStyledText id="mst_TextChange".
    I want messageStyledText to be showed if messageCheckBox was checked.
    I want to know how to set the “rendered” property of the MessageStyleText.
    The following is my uix xml code:
    <rowLayout>
    <contents>
    <cellFormat>
    <contents>
    <messageStyledText id="mst_TextChange" text="${bindings.Servicelocal}" rendered="${bindings.Servicelocal}"/>
    </contents>
    </cellFormat>
    <cellFormat>
    <contents>
    <messageCheckBox model="${bindings.Servicelocal}" >
    <end>
    <formValue model="${ctrl:createCheckBoxState(bindings.Servicelocal)}"/>
    </end>
    <primaryClientAction>
    <firePartialAction event="ShowHide_Text" unvalidated="true" targets="mst_TextChange"/>
    </primaryClientAction>
    </messageCheckBox>
    </contents>
    </cellFormat>
    </contents>
    </rowLayout>

    I think you're on the right track here.
    Assuming that the values for Servicelocal are 'Y' and null, what you could do is use EL to define the rendered component as follows:
    rendered="${!empty bindings.Servicelocal.inputValue}"
    or alternatively:
    rendered="${empty bindings.Servicelocal.inputValue ? false : true}"
    I'm writing this from home so can't check the above but you get the idea.
    Note the use of ".inputValue" to retrieve the actual value of Servicelocal.
    I note your use of the &lt;firePartialAction&gt; tag in the &lt;messageCheckBox&gt;. Please note I recently found a bug (I've raised this with Oracle Support) where the &lt;firePartialAction&gt; causes the running page to ignore any user input for some seconds (5 sec?) when fired from a &lt;messageCheckBox&gt;. Your mileage may vary.
    Hope this helps.
    CM.

  • JDeveloper 10g, ADF, ANT:How to define ant task for EAR & WAR file creation

    I am trying to automate the deployment process of our ADF Faces & BC application. I have reviewed this doc:
    http://download.oracle.com/docs/cd/B31017_01/web.1013/b28951/anttasks.htm
    and followed the procedure for integrating ant onto the server. I can build the project and also successfully deploy the ear file. Howerver, I did not find any instruction on how to generate the EAR file. Can anyone point me to the right place for this task definition?
    Here is my current build.xml file.
    <?xml version="1.0" encoding="windows-1252" ?>
    <!--Ant buildfile generated by Oracle JDeveloper-->
    <!--Generated Jul 16, 2007 12:20:13 PM-->
    <project name="CRDBApps" default="build-all" basedir="." xmlns:oracle="antlib:oracle">
    <property file="build.properties"/>
    <property file="ant-oracle.properties"/>
    <target name="clean-all" depends="">
    <ant antfile="build.xml" dir="CRDBView" target="clean"/>
    <ant antfile="build.xml" dir="CRDBLib" target="clean"/>
    <ant antfile="build.xml" dir="CRDBModel" target="clean"/>
    </target>
    <target name="build-all" depends="clean-all">
    <ant antfile="build.xml" dir="CRDBView" target="compile"/>
    <ant antfile="build.xml" dir="CRDBLib" target="compile"/>
    <ant antfile="build.xml" dir="CRDBModel" target="compile"/>
    </target>
    <target name="deployear" depends="">
    <echo message="-----> Deploying the application module deployment (ear) file"/>
    <oracle:deploy deployerUri="deployer:oc4j:opmn://myserver/home"
    userid="oc4jadmin"
    password="password"
    file="CRDBView/deploy/CRDBApps.ear"
    deploymentName="CRDBApps"
    bindAllWebApps="default-web-site"/>
    </target>
    </project>
    thanks!
    Wes

    Thanks all for the tips. After reading up a bit today on ear/war files and ant. I ended up just creating a task to mimic the ear/war file structure. My script isnt pretty but I'll work on refining that later. Here is what I have if anyone ever is interested:
    <target name="war" depends="">
    <echo message="Executing target war..."/>
    <mkdir dir="war"/>
    <copydir src="CRDBView\public_html" dest="war\"/>
    <copydir src="CRDBView\classes" dest="war\WEB-INF\classes"/>
    <copydir src="CRDBModel\classes" dest="war\WEB-INF\classes"/>
    <copydir src="CRDBLib\classes" dest="war\WEB-INF\classes"/>
    <echo message="Creating war file..."/>
    <jar basedir ="war" destfile="CRDBApps.war"/>
    <echo message="Done executing target war..."/>
    </target>
    <target name="ear" depends="war">
    <echo message="Executing target ear..."/>
    <mkdir dir="ear\META-INF"/>
    <copydir src="CRDBView\deploy\META-INF" dest="ear\META-INF"/>
    <copy file="CRDBApps.war" todir="ear\"/>
    <jar basedir ="ear" destfile="CRDBApps.ear"/>
    <echo message="Done executing target ear..."/>
    </target>
    <target name="cleanAndDeployCRDBApps" depends="build-all,deployear">
    <echo message="Executing target cleanAndDeployCRDBApps..."/>
    <delete dir="war"/>
    <delete dir="ear"/>
    <echo message="Done executing target cleanAndDeployCRDBApps..."/>
    </target>
    <target name="deployear" depends="ear">
    <echo message="Executing target deployear"/>
    <oracle:deploy deployerUri="deployer:oc4j:opmn://myserver:6003/home"
    userid="oc4jadmin"
    password="password"
    file="CRDBApps.ear"
    deploymentName="CRDBApps"
    bindAllWebApps="default-web-site"/>
    <delete file="CRDBApps.ear"/>
    <delete file="CRDBApps.war"/>
    <echo message="Done executing target deployear"/>
    </target>
    ...

  • ADF UIX: How to narrow the value range of a MessageChoice?

    I have 3 ViewObjects:
    1st one is CustomerVO with an attribute called CustomerNo,
    2nd one is LinkmanVO with attributes LinkmanName and CustomerNo .
    And I do not create viewlink between them(for some reasons).
    3rd one is JobVO with attributes CustomerNo and LinkmanName.
    On UIX page, I have to Components:
    CustomerNo MessageTextInput(of JobVO),
    LinkmanName MessageChoice(of JobVO) from Lov mode of LinkmanView1Iterator.
    When user fills the CustomerNo MessageTextInput, I want the LinkmanName MessageChoice only show the LinkmanName has the same CustomerNo as the MessageTextInput.

    I am looking for the same functionality between two messagechoices. Did you get any responces to this question? Have you had any luck?
    Thanks,
    Mia
    [email protected]

  • ADF UIX programatic data binding

    Oracle ADF UIX Developer's Guide mentions the possibility to use the UIX framework in Java, to create new objects or alter the existing ones.
    E.g. we can create a table using a construct like:
    TableLayoutBean tlb = new TableLayoutBean();
    The same document demonstrates the data binding:
    BoundValue rows = new DataBoundValue(_YOUR_NAMESPACE, YOURNAME, "rows");
    tlb.setIndexedNodeList(new DataObjectListNodeList(rows));
    For "simple" attributes using DataObject DataObjectList, etc. the procedure is clear. But what about creating a data bound table or input text:
    <table model="${bindings.EmpView1}" ... >
    <messageTextInput model="${bindings.DeptCode}"/>
    It’s easy to understand that model="${bindings.EmpView1}" or model="${bindings.DeptCode}" are equivalent to multiple attribute bindings (data, validation, read-only, etc.), but it looks that the classes/methods resolving these equivalences and linking the bean to the corresponding DCControlBinding, are not public (or maybe I was not able to find them).
    How can we obtain programmatically, in Java, the same structure as described above (in XML)? The best would be to use the same classes used when the UIX XML document is parsed to create the page description.
    It would be very nice to be able to use a structure like
    tbl.setModel( new JUCtrlRangeBinding(...) );
    txt.setModel( new JUCtrlValueBinding(...) );
    or maybe
    txt.setAttribute( "model", new TextInputModelBoundValue(...) ) etc.
    In JSF we can do something like:
    ValueBinding vb = application.createValueBinding(value);
    component.setValueBinding(attributeName, vb);
    Can we do something similar in UIX?
    Any help will be appreciated,
    thanks,
    Mircea Ionita

    Since the code is already written, it's a pity that we can't use/extend it. I don't like to say it (sorry) but I find this design choice (implement the "model" only into the XML parsing layer) a little bit strange (or maybe I don't understand... ;-) ). We should (or we are supposed to) be able to do in java everything that we can do in XML.
    I would like to find more support/help for the programmatic approach. I have the feeling that you are too focalised on "use-our-state-of-the-art-tools/wizards-to-write-the-code-for-you" and you forgot that this is not suitable for all projects. E.g. our application creates the user interface according to a layout defined by each user. To generate it, we need to use at maximum the extension mechanism and we can't simply relay on "rendered" attribute etc.
    -When should we expect this new UIX release?
    -What about the UIX controller? The Struts controller will replace it?
    -What about the source code of uixexp2-demo.jar (distributed with ADF_UIX_component_guide)?
    -Why while debugging we can't set a method/class breakpoint on UIX classes (to understand the data flow) - the stack is secret?
    Thanks

  • Data Binding in ADF UIX example trouble

    Two related questions:
    From the help example 3. Data Binding in ADF UIX example trouble in JDeveloper on UIX. If this worked I was going to run a small java class that captures the login and passes it as a messagebox with a Welcome login name on the first page, but I can't get past the example and path problems.
    From the example..."
    package yourpackage;
    import java.util.Date;
    public class CurrentDateBean
    public CurrentDateBean() { }
    public String getTime()
    return (new Date()).toString();
    Now, we want to change the page so it uses getTime(). We need to do three things: Tell UIX to data bind the text attribute. Add a <dataScope> to the page to provide data to the content. Write a small "data provider" in Java that can access the bean. First, we'll data bind "text": <text xmlns="http://xmlns.oracle.com/uix/ui"
    text="${uix.data.currentDate.time}"/>The example has one small change. The value is changed to ${uix.data.currentDate.time}, which is an expression that defines the data. This is shorthand for "get the time property from currentDate." If you tried running this example, you'd see nothing. That iss because we haven't given currentDate to the page, so the databinding failed, and the "text" is left to null. We do this by adding <dataScope> to the page: <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    Q#1?? Trying to follow the demo. The method class and method name do not seem to match the names in the above class from the demo. Am I missing a point here, please help.
    <data name="currentDate">
    <method class="yourpackage.DataDemo" method="getCurrentDate"/>
    </data>
    </provider>
    <contents>
    <text text="${uix.data.currentDate.time}"/>
    </contents>
    </dataScope>
    Q#2?? When I try and apply the demo class to my home.uix XML file with
    "<?xml version = '1.0' encoding = 'windows-1252'?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40" expressionLanguage="el">
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- start Add DataProviders (<data> elements) here -->
    <data name="currentDate">
    <method class="us.mn.state.dot.apptrack.security.CurrentDateBean" method="getTime()"/>
    </data>
    <!-- end Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <text text="${uix.data.currentDate.time}"/>
    <document>
    <metaContainer>"
    I get the following, and I don't know how to make the UIX XML accept the correct path, please help:
    �file:/C:/JDeveloper905p/jdev/mywork/ProjTrack/AppTrack/ViewController/public_html/home.uix: Parsing error, line 12, column 97: Could not find class us.mn.state.dot.apptrack.security.CurrentDateBean

    for question 1 the name of the class CurrentDateBean
    actually has nothing to do with the el expression
    uix.data.currentDate.time. The currentDate part of the
    el expression is coming from the method data provider part
    of your page:
    <data name="currentDate">
    <method class="yourpackage.DataDemo"
    method="getCurrentDate"/>
    </data>
    so if you changed the name of the data provider to "foo":
    <data name="foo">
    <method class="yourpackage.DataDemo"
    method="getCurrentDate"/>
    </data>
    your el would look like this:
    uix.data.foo.time
    by the way the uix.data part tells UIX to look for
    a <data> element define in the <provider> section of
    your dataScope.
    For question #2, do you have the java file
    us.mn.state.dot.apptrack.security.CurrentDateBean on
    your classpath and is it compiled? You will get that
    warning if it is not on your classpath.
    Also you are incorrectly interpreting the example. What
    you are doing is trying to reference the actual bean
    object and its getTime() method. What you want to do
    is write a method data provider that returns your
    CurrentDataBean. so uix.data.currentDate would return
    a CurrentDateBean instance object. the .time part of the
    el expression would tell UIX to look for a method named
    getTime() and use that value.
    let me know if you have any more questions.

  • [ADF-UIX] passing selected items to a custom method, how?

    Hi,
    ADF-UIX can be tricky, and im stuck atm building some functionality, I hope
    someone here can point me in a good direction
    I have a multipleSelection table filled with data from a ViewObject. I also
    have 2 MessageChoice components also filled with data from 2 ViewObjects.
    I made a custom method in my AppMod accepting 3 params and dragged that method
    on to a DataAction. And I have a submit button calling the DataAction.
    Now comes the tricky part, how can I pass the selected rows (radiobuttons) and
    the selected items from my MessageChoices to my custom method.
    I know I have to change something in paramNames[0].value but what exactly, specialy
    the multiselect from my table.
    Thanks in advance for any tips :)

    "what's the application module"
    JDev 10.1.3 leverages an Application Development Framework (ADF) that you can learn about here: http://download-east.oracle.com/docs/pdf/B25947_01.pdf
    Specifically, you'll want to look at chapters 2, 4, & 8 in the developer's guide to understand the framework and to understand how to use application modules to call service methods from a JSF page. You can also search this forum as there are other threads discussing this topic, but I'd recommend reviewing the developer guide first.
    This article I also found helpful:
    http://www.oracle.com/technology/products/jdev/tips/muench/mostcommon/index.html
    From my (short) experience, I've learned that you can call methods either using a bean or service methods on the Application Module. Since I am using ADF Business Components (BC), I try to implement any methods that interact with the BC's (view objects, etc.) as service methods on the Application Module (AM). If my method needs to purely implement logic related to the UI or Navigation, then I implement a method on a bean. The other case where I implement a method on a bean is if I need to do some pre-processing (i.e., gather info. about the state of the UI) prior to calling a service method on the AM (an example of this can be found in the dev guide related to the tableSelectMany component) - so there are some cases where the bean method will call a method on the AM - but again, if the method will update the model I try to use a method on the AM to accomplish this. Understanding the ADF framework is the first step (see the dev guide), and then I'd recommend looking at the SRDemo and previous posts on this forum.
    Finally, one thing that is really cool - if you define a service method on your AM, it shows up in the data control pallette - you can drag and drop the method on the .jspx page and all of the bindings/wiring is done automatically for you (including handling passing of parameters.)
    hope this helps.

  • How to upload a file to a blob By ADF uix

    I need to add a file to a record as an accessory;
    I now use ADF-Uix?How do it?
    Someone can help me !
    Thanks

    The forum search would be my first try...
    Then google...
    This has been asked at least once a week and got correct answers...
    Timo

  • Binding Editors not present in ADF UIX

    Hi
    I have been having some trouble with accessing both the Boolean Binding Editor and the LOV Editor from the structure window, when in design mode of an ADF UIX page.
    My bindings are present, but when I 'Edit' the binding, the only option available to me is to select the Iterator and the attribute.
    The documentation keeps telling me to select different tabs, but there aren't any!
    Anyone had this problem????
    I'm on;
    Oracle IDE     9.0.5.16.27
    Business Components Version     9.0.5.16.0
    UML Modelers Version     9.0.5.14.78
    Versioning Support     9.0.5.14.78
    WebDAV Support Version     9.0.5.14.78
    Struts Modeler Version     9.0.5.4.22
    Designer Generators Framework     9.0.5.5.71
    ADF UIX     2.2.8
    java.version     1.4.2
    java.home     C:\j2sdk1.4.2_04\jre
    java.vm.name     Java HotSpot(TM) Client VM
    java.vm.vendor     Sun Microsystems Inc.
    java.vm.version     1.4.2-b28
    user.language     en
    user.region     <no value assigned>
    user.name     chris.bell
    user.home     C:\Documents and Settings\chris.bell
    user.dir     C:\Software\Oracle\jdev9052\jdev\bin
    os.name     Windows XP
    os.version     5.1
    os.arch     x86
    http.proxyHost     <no value assigned>
    http.proxyPort     <no value assigned>
    http.nonProxyHosts     <no value assigned>
    ide.patches     
    Thanks in advance
    Chris

    the primaryclient action should pass the rowkey of the current row (${uix.current.rowKeyStr}) as a parameter. This way the server can find the corresponding row on the server in an event handler.
    see
    http://www.oracle.com/technology/products/jdev/tips/jacobi/edittable/tip_adfuixtable_edit.html

  • ADF UIX with ADF Binding without Struts

    After trying the CRUD tutorial from the "Complete ADF UIX Application (Browse, Create, Update, Delete)" -(http://otn.oracle.com/products/jdev/collateral/tutorials/9050/adfuix_tut.html), I found it may be thousands of struts actions in my upcoming project.
    It will be difficult to merge and sync my team members works and the usefulness of StrutsPageFlow diagram will decrease severely although it is very convenient to drag data control operations to struts data actions without coding.
    I am trying to use ADF Controller event handler as my page flow engine to eliminate these drawbacks.
    When I use ADF controller as my page flow engine, if I have to pass ui model reference, initialize binding container, get binding container, get application module and refresh binding container, ... manually in my event handler codes just like the BasicDataAction class does in "ADF data binding primer (http://www.geocities.com/smuench/adfprimer/)"?
    Is there any document that cover this information or any suggestions?
    Daniel

    ADF Controller questions should be posted in the JDeveloper forum.

  • How to- Customise ORA errors in ADF UIX ?

    Iam working on JDev 10.1.2. ADF UIX.
    I have managed to capture JBO errors using message bundle and custo mise them but am not able to do the same in case of ORA errors. I need to customise errors like integrity constraint errors from database.
    How am i too to do that?
    Regards,
    Vineet.

    hello
    di you get this issue solved, please help
    we are using 10.1.3

  • ADF-UIX... How to make a page expire

    Dear sirs...
    is it possible to make every page in ADF UIX application expire?
    meaning when i am in page A and go to page B, if i click the browser Back button i would like to get the page expire warning.
    is this possible in JDeveloper 10.1.2.1???
    thanks in advance
    best regards

    Dear sirs...
    is it possible to make every page in ADF UIX application expire?
    meaning when i am in page A and go to page B, if i click the browser Back button i would like to get the page expire warning.
    is this possible in JDeveloper 10.1.2.1???
    thanks in advance
    best regards

Maybe you are looking for