Transient attribute in View Object

I need to create a transient attribute on a VO query based ,I need a transient attr with a string value ,then I used the JDEV wizard and keep Literal value option and put a value string in value box.
The problem is that when I drag and drop the relative property from DATA CONTROL to create an output text field , running all I don't see on web page the inserted value on VO, why ?
thanks

If you don't need to change this value then you can use Expression instead of Literal and put value under " ".
But, if you need to change this value, then you can:
- add something like this to your query: (select 'default_value' from dual) OR
- override createInstanceFromResultSet() in your ViewObjectImpl class and set default value to row OR
- if value of this transient object can't be null, use modified version of codigoadf approach:
public String getDummy() {
     //return (String) getAttributeInternal(DUMMY);
    return getAttributeInternal(DUMMY) == null ? "yourValue" : getAttributeInternal(DUMMY);
}Dario

Similar Messages

  • Null Pointer Exception after adding Transient attribute in View Object

    Hello Experts
    I am using Jdev 11.1.2.3. I have added a transient attribute in view object and set default value to another view object attribute via view accessor of view link between view objects. the value of expression is ItemMasterRO.Description, where ItemMasterRO is the name of view accessor define in the view link and Description is the name of attribute which is in other view object.
    Data is retrieving as per my requirements, but when i click on add record button in application module, it is throwing a  null pointer exception. Here is stack trace
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
        at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1218)
        at oracle.jbo.ExprEval.doEvaluate(ExprEval.java:1253)
        at oracle.jbo.ExprEval.evaluateForRow(ExprEval.java:1075)
        at oracle.jbo.server.AttributeDefImpl.evaluateTransientExpression(AttributeDefImpl.java:2132)
        at oracle.jbo.server.ViewRowStorage.getAttributeInternal(ViewRowStorage.java:1856)
        at oracle.jbo.server.ViewRowImpl.getAttributeValue(ViewRowImpl.java:1967)
        at oracle.jbo.server.ViewRowImpl.getAttributeInternal(ViewRowImpl.java:829)
        at oracle.jbo.server.ViewRowImpl.getAttrInvokeAccessor(ViewRowImpl.java:911)
        at oracle.jbo.server.ViewRowImpl.getAttribute(ViewRowImpl.java:859)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGetAttributeValueFromRow(JUCtrlValueBinding.java:1213)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeFromRow(JUCtrlValueBinding.java:764)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeFromRow(JUCtrlValueBinding.java:792)
        at oracle.jbo.uicli.binding.JUCtrlAttrsBinding.updateValuesFromRow(JUCtrlAttrsBinding.java:145)
        at oracle.jbo.uicli.jui.JULabelBinding.updateValuesFromRow(JULabelBinding.java:114)
        at oracle.jbo.uicli.binding.JUIteratorBinding.updateValuesFromRows(JUIteratorBinding.java:349)
        at oracle.adf.model.binding.DCIteratorBinding.setupRSIstate(DCIteratorBinding.java:867)
        at oracle.adf.model.binding.DCIteratorBinding.refreshControlAndNotifyDCE(DCIteratorBinding.java:707)
        at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:676)
        at oracle.jbo.uicli.binding.JUIteratorBinding.refreshControl(JUIteratorBinding.java:485)
        at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4555)
        at oracle.adf.model.binding.DCBindingContainer.refreshExecutables(DCBindingContainer.java:3542)
        at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3375)
        at oracle.adf.model.binding.DCBindingContainer.refreshControl(DCBindingContainer.java:2938)
        at oracle.jbo.jbotester.NavigationBar.doInsertAction(NavigationBar.java:143)
        at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:110)
        at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
        at java.awt.Component.processMouseEvent(Component.java:6289)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6054)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4652)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
        at java.awt.EventQueue.access$000(EventQueue.java:85)
        at java.awt.EventQueue$1.run(EventQueue.java:603)
        at java.awt.EventQueue$1.run(EventQueue.java:601)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$2.run(EventQueue.java:617)
        at java.awt.EventQueue$2.run(EventQueue.java:615)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.lang.NullPointerException
        at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.acceptGetProperty(PogoGetPropertySite.java:32)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:237)
        at bc4j_com_syncreon_model_queries_SequenceItemContainerXrefVO_ItemDescription_null_gs.run(bc4j_com_syncreon_model_queries_SequenceItemContainerXrefVO_ItemDescription_null_gs.groovy:1)
        at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1200)
        ... 62 more
    ## Detail 0 ##
    java.lang.NullPointerException
        at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.acceptGetProperty(PogoGetPropertySite.java:32)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:237)
        at bc4j_com_syncreon_model_queries_SequenceItemContainerXrefVO_ItemDescription_null_gs.run(bc4j_com_syncreon_model_queries_SequenceItemContainerXrefVO_ItemDescription_null_gs.groovy:1)
        at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1200)
        at oracle.jbo.ExprEval.doEvaluate(ExprEval.java:1253)
        at oracle.jbo.ExprEval.evaluateForRow(ExprEval.java:1075)
        at oracle.jbo.server.AttributeDefImpl.evaluateTransientExpression(AttributeDefImpl.java:2132)
        at oracle.jbo.server.ViewRowStorage.getAttributeInternal(ViewRowStorage.java:1856)
        at oracle.jbo.server.ViewRowImpl.getAttributeValue(ViewRowImpl.java:1967)
        at oracle.jbo.server.ViewRowImpl.getAttributeInternal(ViewRowImpl.java:829)
        at oracle.jbo.server.ViewRowImpl.getAttrInvokeAccessor(ViewRowImpl.java:911)
        at oracle.jbo.server.ViewRowImpl.getAttribute(ViewRowImpl.java:859)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGetAttributeValueFromRow(JUCtrlValueBinding.java:1213)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeFromRow(JUCtrlValueBinding.java:764)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeFromRow(JUCtrlValueBinding.java:792)
        at oracle.jbo.uicli.binding.JUCtrlAttrsBinding.updateValuesFromRow(JUCtrlAttrsBinding.java:145)
        at oracle.jbo.uicli.jui.JULabelBinding.updateValuesFromRow(JULabelBinding.java:114)
        at oracle.jbo.uicli.binding.JUIteratorBinding.updateValuesFromRows(JUIteratorBinding.java:349)
        at oracle.adf.model.binding.DCIteratorBinding.setupRSIstate(DCIteratorBinding.java:867)
        at oracle.adf.model.binding.DCIteratorBinding.refreshControlAndNotifyDCE(DCIteratorBinding.java:707)
        at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:676)
        at oracle.jbo.uicli.binding.JUIteratorBinding.refreshControl(JUIteratorBinding.java:485)
        at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4555)
        at oracle.adf.model.binding.DCBindingContainer.refreshExecutables(DCBindingContainer.java:3542)
        at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3375)
        at oracle.adf.model.binding.DCBindingContainer.refreshControl(DCBindingContainer.java:2938)
        at oracle.jbo.jbotester.NavigationBar.doInsertAction(NavigationBar.java:143)
        at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:110)
        at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
        at java.awt.Component.processMouseEvent(Component.java:6289)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6054)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4652)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4482)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
        at java.awt.EventQueue.access$000(EventQueue.java:85)
        at java.awt.EventQueue$1.run(EventQueue.java:603)
        at java.awt.EventQueue$1.run(EventQueue.java:601)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
        at java.awt.EventQueue$2.run(EventQueue.java:617)
        at java.awt.EventQueue$2.run(EventQueue.java:615)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Please advice....
    Thanks

    Hi,
    Just the exception stack without any information like what JDev version, what expression you've used for the default value of the transient attribute etc., is not enough for us to help you.
    -Arun

  • How to populate transient attribute from view object dynamically

    I have three 4 tables named as "employee,event,event_progress,and checklist progress". i have created a view object using the first three tables . i ahave also created 5 transient variables in to the same view object.when i dragged the view object in to my page as a table i want to populate those transient attribute.
    i have 5 transient attribute which are present as a column value named as chechlist_name in another table "checklist".those all transient attribute also having two sub rows whose data should be populated from the checklist progress table.

    Hi
    Please post your question on this forum, your question belong to this forum.
    JDeveloper and ADF
    Muhammad Nasir

  • Dirty check for transient attributes in view object

    Hi,
    I am using JDeveloper 11.1.1.4 and ADF BC in my project.
    In one of my view objects,I have a transient attribute added for some business logic.
    I am doing dirty check in my project as below.
    boolean dirty = false;
    boolean amDirty = false;
    // check application module
    ApplicationModule am =
    getBindingContainer().getDataControl().getApplicationModule();
    amDirty = am.getTransaction().isDirty();
    //Check if datacontrol is dirty
    BindingContext bctx =
    oracle.adf.controller.binding.BindingUtils.getBindingContext();
    dirty =
    bctx.findDataControlFrame(bctx.getCurrentDataControlFrame()).isTransactionDirty();
    return amDirty || dirty;
    My requirement is that,I dont want the dirty check to be applied on the transient attribute in the view object.
    Is there any way to achieve this.Please advice...
    Regards,
    Praveen

    Hi Frank,
    Thanks for the suggestion.
    I followed the link.But if a transient attribute is modified,then also ((ApplicationModule)getDataProvider()).getTransaction().isDirty() is returning true and the transaction is made dirty.
    I am setting a transient attribute like this getNwOperVOIter().getCurrentRow().setAttribute("AcctNoTrans")....when I am editing a row.
    Can I get explicit handle at viewobjectimpl for this transient attribute??
    Regards,
    Praveen

  • Transient Attributes in Entity object vs View Object

    Hi Everyone,
    I need some suggestion with my project. I have a vendors table based on which I created an entity object (columns: vendor_id, contract_id, so on ) but I want to display vendor_name in UI which can be read from other table. I thought of using a transient attribute to populate this vendor_name.
    It is working fine when I create a new record (where I handled this in LOV return value of vendor_id field and it return vendor_id, vendor_name values) but when there is edit/view of page, this vendor_name is null which means I need to populate it during page load /refresh time. Can someone suggest me a better way to populate this transient attributes. I also want to know when should I use transient attributes in Entity object (I saw most of the developer using VO transient attributes in these kind of situation)
    Thanks,
    Ravi

    Hi,
    also want to know when should I use transient attributes in Entity object (I saw most of the developer using VO transient attributes in these kind of situation)
    transient values in entities are saved in the entity cache and thus can be changed in the UI. If you use transient attributes on the VO then these are read-only. All transient attribute however need to be populated upon page load, which you can do in a ViewRowImpl class that checks for a null value when the getter is called to then call a setter, or by using Groovy script as a default value (just set the attribute to script)
    Frank

  • How to change sql expression of SQL-Calculated Attribute of view object ?

    Hi
    jdev 11.1.1.5
    I have a view object with a SQL-Calculated Attribute (sumAnalytic) how can I change sql expression of this attribute in runtime?
    for example in application module method??

    Hi Mr Timo
    Thanks for your reply but I do not need dynamic vo because I can not change all of my vo
    I only need to change expression of SQL-Calculated Attribute of view object in run time.
    For this I set expression in view object something like this 'select 2 from dual' and in run time in my AM method I get the vo query and replace 'select 2 from dual' with something like 'selet sum(amnt) over (partition by 1)' and set new query.
    But I think the better solution must exist
    Thanks

  • How to put validation between attributes at View Object level in BC4J

    Hi,
    Is it possible in BC4J to put validation between attributes at View Object level?
    I know that I can do it at Entity Object level in validateEntity method, but I have several View Objects connected with one Entity Object and don't want to have the same validation logic for all View Objects.
    Thanks for any help!

    It returns errorWhat error does it return?
    John

  • Uppercase Attributes in View Object

    Hi
    Any one help me please on BC4J View Object Attributes should display in Uppercase only. currently default is InitCap.
    much appreciate your help.
    Regards
    Srini

    Hi Frank,
    Thanks for the suggestion.
    I followed the link.But if a transient attribute is modified,then also ((ApplicationModule)getDataProvider()).getTransaction().isDirty() is returning true and the transaction is made dirty.
    I am setting a transient attribute like this getNwOperVOIter().getCurrentRow().setAttribute("AcctNoTrans")....when I am editing a row.
    Can I get explicit handle at viewobjectimpl for this transient attribute??
    Regards,
    Praveen

  • Deleting attributes in view objects...

    I rewrote my query and now the attribute mappings are all wrong. The number of columns doesn't match the number of attributes. Other than laboriously editing the XML for the view object, is there an a way to get rid of all the view attributes and start as if it was a new VO? I tried selecting them in the wizard and structure pane to delete them, but this did not work. The xml file is protected in the XML editor.
    Any help is appreciated.
    UPDATE:
    I figured it out. Never mind.
    Message was edited by:
    user530348

    Best is to Open VO with Wizard . Some times VO can be modify manually using XML files but this method are more error prone.
    Hope your VO files got disturbed thats why you can edit with wizard.
    If you have its backup copy then open with wizard.
    Thanks

  • [SOLVED] New attributes in View Object not visible in pageDef

    Hi,
    I'm having a View Object whererin I create new attributes. The problem is that the newly created attributes are not available for selection in a table binding in the page definition.
    It seems like there is still somewhere a reference to the 'old' collection of attributes of the View Object. Is there a way to force an update?
    The .xml file of the View seems to have the correct query containing the new attributes. Altough, when I try to edit the table binding in the pageDefinition, the attributes are not available in the 'Available Attributes' frame.
    Thanks,
    Koen Verhulst
    edit: solved
    Edited by: Koen Verhulst on Mar 5, 2009 8:47 AM

    Hi Chetan,
    I am now able to add a new tab after adding a new entry with the Main View name in "Assign Access levels to Incident Tabs" in transaction SPRO.
    However, I am now facing a new issue when I add a main view in OIF component. There are 12 main views in the Object Instance Schema with ID's MainView<sequencenumber> as shown below.
    But when I add a new main view I am getting the ID with the format MainVIew<sequencenumber_hexadecimalvalues> and also I am able to edit the ID value which is not enabled for other main views as shown below.
    The problem with this hexadecimal value is that every time a change is done and I save the configuration, the number changes and this is causing problem as the configuration in SPRO does not match and the new tab becomes invisible.
    Please could you let me know what could be the reason and how to rectify this?
    Regards,
    Poojith M V

  • Oracle.jbo.ReadOnlyAttrException) JBO-27008: Attribute in view object cannot be set.

    Hi all,
    I have three table:
    Member : MemberID(pk), Email, Adress, ProvinceID (fk)
    Province : ProvinceID(pk), ProvinceName, CountryID(fk)
    Country : CountryID(pk), CountryName.
    After created three entities and object view for all of them.
    In ProvinceView : i add a parameter for CountryID using Bind Variables + View Criteria to select Province from Country
    In MemberView : i add more two entity: Province and Country then Add more attributes: CountryID (from Province table), CountryName(from Country table).
    Create LOVs for CountryID and ProvinceID....that's i want: selected Country ----> Province auto show but when i selected Country, an error show like this :
    (oracle.jbo.ReadOnlyAttrException) JBO-27008: Attribute Countryid in view object PhaiMemberacbView1 cannot be set.
    What's solutions to fix this. Thanks

    Hi,
    Please verify if the Attribute Countryid has been marked as "Updatable" in the view object.
    Best Regards,
    Ankit Gupta

  • How to define attributes at view object level ?

    Hi,
    I am defining one attribute at view level and also i am declare a bind variable.
    eg: attribute name:days Bind variable: :Enter_The_Days
    and In the days attribute-->(scheduledshippeddate-requestdate)
    and In the where condition Days>:Enter_The_Days
    But at the time of running the application module,It returns error. Can you please help me on tha.

    It returns errorWhat error does it return?
    John

  • How to save transient attributes?

    Hi,
    I have a query related to saving the View Object transient attributes :-
    Following is the scenario which we want to implement:-
    1. We have a  page on which we are using a table component with 5-6 VO transient attributes and n number of rows.
    2. There is a save button on the page which allows user to save the activity which he is performing and able to resume the activity later on.
    3. As soon as he click on the save button, all the EO attributes get persisted.
    4. When he re-opens a flows, he can see a resume button which allows him to resume the activity from the point he left.
    5. So User should be able to see the changed he made on the table component on clicking the resume button which he made before saving the activity.
    Now, the question is how we can retrieve the transient attributes on resuming the activity or is there any way by which we can save the transient attributes of View object ?
    Please help !!

    Refer
    ADF Practice: Passivation and Activation of View Objects with Transient Attributes

  • Transient attribute  in viewobject and entity object

    i added a transient attribute to an entity object . Then, for the view object based on that entity object, i added this transient attribute. The attribute name is Department Description. When i display the record(s) from this view object, everything is cool. But, when i try to create/insert a new record, i get error:
    JBO-27019: Get method for attribute "DepartmentDescription" could not be resolved. What is going on here and what do i need to change to create/insert a new entity row which has a transient attribute?
    As well as i added trasient attribute in view object also ....same erroe is comming ..................
    Thanks inadvance

    Hello Siva,
    have you already solved your problem?
    I have a very similar error.
    Thanks.
    Peter

  • How to bind dynamic columns in ADF table to view object

    In the below piece of code i am trying to bind a dynamically added column to my newly added attribute in view object, but the value expression does not set the value of this attibute in the view object please help on what is wrong in this code ??
    <af:table value="#{bindings.ViewObj1.collectionModel}" var="row"
    rows="#{bindings.ViewObj1.rangeSize}"
    emptyText="#{bindings.ViewObj1.viewable ? 'No rows yet.' : 'Access Denied.'}"
    fetchSize="#{bindings.ViewObj1.rangeSize}"
    filterModel="#{bindings.ViewObj1Query.queryDescriptor}"
    queryListener="#{bindings.ViewObj1Query.processQuery}" varStatus="vs"
    selectedRowKeys="#{bindings.ViewObj1.collectionModel.selectedRow}"
    rowSelection="single"
    binding="#{backingBeanScope.backing_createDTpg1.table1}"
    id="table1"
    columnSelection="single"
    partialTriggers="::addCol ::addColAfter ::addColBefore ::removeCol ::addRow ::addRowAfter ::addRowBefore ::removeRow ::addAction ::addActionAfter ::addActionBefore ::deleteAction :::dialog1 :::d1"
    allDetailsEnabled="true" verticalGridVisible="false"
    horizontalGridVisible="true" width="100%" disableColumnReordering="true"
    selectionListener="#{bindings.ViewObj1.collectionModel.makeCurrent}"
    immediate="true" contentDelivery="immediate"
    editingMode="clickToEdit" autoHeightRows="-1">
    <af:column sortProperty="Sno" filterable="false" sortable="false"
    headerText="Sno"
    align="center" width="28" rowHeader="true"
    inlineStyle="font-style:italic;" frozen="true"
    id="sno" selected="true" headerNoWrap="true"
    displayIndex="0">
    <af:outputText id="ot0" value="#{vs.index+1}"/>
    </af:column>
    <af:column id="separatorColumn" align="center"
    width="15" frozen="true" displayIndex="1"
    rowHeader="unstyled" sortable="false"
    filterable="false" selected="false"
    inlineStyle='background-image:url("jheadstart/images/jsp_forward.png"); background-repeat:no-repeat; outline-color:InactiveCaption; outline-style:solid; outline-width:thin;'
    headerText=""/>
    </af:table>
    DCBindingContainer dcBindings =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding iterBind =
    (DCIteratorBinding)dcBindings.get("ViewObj1Iterator");
    ViewObject decisionTableView1 = iterBind.getViewObject();
    System.out.println("before getAttributeCount :"+decisionTableView1.getAttributeCount());
    int counter = decisionTableView1.getAttributeCount() + 1;
    AttributeDef attribute =
    decisionTableView1.addDynamicAttribute("condition_" + counter);
    RichColumn column = new RichColumn();
    column.setId("condition_" + counter);
    column.setHeaderText("condition_" + counter);
    column.setNoWrap(true);
    RichInputText inputtext = new RichInputText();
    inputtext.setId("condition_"+counter);
    inputtext.setAutoSubmit(true);
    inputtext.setValueExpression("condition_"+counter,
    getValueBinding("#{row.bindings.condition_" +
    counter +
    ".inputValue}"));
    column.getChildren().add(inputtext);
    RichCommandImageLink headerLink = new RichCommandImageLink();
    headerLink.setText("<<Select Fact>>");
    headerLink.setId("conditionLink_" + counter);
    column.setHeader(headerLink);
    List columnList = this.table1.getChildren();
    int separatorColumnIndex =
    findColumnIndex(columnList, "separatorColumn");
    if (columnIndex == -1 || columnIndex > separatorColumnIndex) {
    columnIndex = separatorColumnIndex;
    System.out.println("Column Index :" + columnIndex);
    column.setDisplayIndex(columnIndex);
    this.table1.getChildren().add(columnIndex, column);

    Sorry Frank i could not figure out what u rtrying to say.
    In my case i have ADF table with two predefined coulmns :
    1 : a serial number read only column
    2 : a separator coumn
    I need help to bind the newly created dynamic attribute in the VO with my newly created column in the ADF table which has a input text as child.
    My problem is binding the is not working properly as values entered in the Table are not reflected in the VO.
    And when i insert a new column in between two columns which has already filled values the data in the rows does not shift coreespondingly..
    Edited by: user10281080 on Jul 27, 2009 12:22 AM

Maybe you are looking for