ADF SelectOneList.. objects   and WordWrap

I need help with word wrapping a SelectOne type object in a table cell
The text of some of the choices is long and needs 1 wrap/berak
SelectOneListBox does not warp and the cell of the table becomes very wide to accompdate the few long list texts
SelectOneChoice acts the same way
SelectOneRadio does wrap the text but breaks them all at about 30 characters causing all to wrap and some wrap into 3 or 4 lines.
I would like this to be wide and wrap when the characters reach 100 so at most I get two lines of text but not columns that are to wide. I have tried setting the width of the columns but it was no impact. The table is based on an ADF view object.
Can you get the text of SelectOneChoice and SelectOneListBox to wrap and if so how to do it and control the size and or how do I control the size of the colum for SelectOneRadio.
Thanks Chris

Hi,
I am also interested in a best-practice note from oracle.
Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
Thanks

Similar Messages

  • ADF View Objects and Recording changes for Auditing Purposes

    Hello,
    I am a new to the JDeveloper paradigm and currently working on a J2EE web pilot project. I was wondering if I could get some some ideas on how I could implement auditing in an application. Basically when a user modifies some entries on the screen, I would like to make a note of what the record was like before commiting to the database. An administrator could then see, what changes the record has been through over a period of time.
    I was thinking of using XMLTypes with the database. Does Jdeveloper handle oracle XMLType fields, or would I be looking at something along the lines of a CLOB? At this point, I would rather not implement this functionality using database triggers. Any alternate suggestions would be appreciated.
    Regards
    Anora April…
    Jdeveloper 10.1.2 (1811)
    Oracle DB 10g 10.1.2

    Hi,
    I am also interested in a best-practice note from oracle.
    Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
    Thanks

  • ADF panel does not prompt for variable defined in ADF view object.

    I have created an ADF Panel, which allows the user to run a few simple queries against an Oracle database done using ADF view objects and ADF view links and ADF application module.
    One of these queries lookup detail information about a given database object (Table, view or whatever) from dba_objects. The SQL uses a parameter (:P_OBJ_NAME) that has a default value of “Departments”. If I run the ADF application module by itself outside of the ADF panel, all works fine, it prompts me to provide a value for the parameter :P_OBJ_NAME.
    As I said the panel contains the different ADF view links including the one that should prompt the user to provide a value for :P_OBJ_NAME. When I run the panel it does not prompt me for :P_OBJ_NAME, it just uses the default defined value “departments”.
    I hope I described my problem for every one to understand. The question obviously is how do I get the ADF panel to prompt the user to provide a value for parameter :P_OBJ_NAME, my expectation was that since the sql in the view object and the application module both are designed to prompt for a value for this parameter then the panel should do just that but it does not.
    You expert input would be most appreciated.
    Thanks.
    Bobby A.
    Edited by: Babak Akbari on Aug 13, 2009 8:34 AM
    Edited by: Babak Akbari on Aug 13, 2009 11:12 AM

    The prompting for a parameter is a feature we built into the ADF Tester - it is not a default behavior you get in your application when you just place a VO on your page.
    To get something like this expend the operations node under the VO in the data control palette, and drag the "Execute with parameters" operation to your page to drop it as a parameter form.
    This will provide your user a place to fill out the parameter and press a button to execute the query.

  • Can Designer generate ADF Entity Objects, View Objects and Apps Module ?

    Hi all,
    On what way can Designer integrate with JDeveloper (+ ADF) ?
    Can Designer generate ADF Entity Objects, View Objects and Apps Module ?
    Thank you for your help,
    xtanto

    Designer itself has no direct integration with JDeveloper. However, there are three options. First of all, you can get a JDeveloper extension (download this separately) that lets you create a Connection to a Designer repository. From that Connection you can find modules that you defined in Designer and generate Entity and View objects for the tables and columns that you used in those modules, and an Application Module. It does not create JSPs or other user interface objects.
    Another option is to buy JHeadstart from Oracle. This contains a set of code generators and ADF extensions that include an ability to get information from a Designer repository. JHeadstart works fine for non-Designer users too, but was built by the same people who wrote Designer Headstart - they know the repository API intimately.
    The third option is to download Oracle Designer Extension Builder (ODEB) which was just recently made available. This is a product of a collaboration between Designer users from the Oracle Development Tools Users Group (ODTUG) and Oracle to extend the capabilities of Designer with user written tools and utilities. You could use ODEB to write your own generators for ADF Business Components. Or you could wait and see if someone else in the user community does this. I hope that you or whoever does such a generator will be willing to share it with us all.

  • ADF - View Objects

    Hi All,
    We are working on building a web application using on ADF.
    The landing page of our application is a dashboard screen that is read-only with 100 to 500 records displayed in a table.
    User can move to other pages and create requests.
    1) When user is on dashboard and moves to other pages of the application, is there a way to release the memory used by view objects and underlying entity objects used by the views used to display the dashboard? Another point here is, our application requirement is to refresh the data from database when user moves between screens. Even if user switches back to dashboard screen after moving to other screen the data needs to be queried anyway. So for better memory management of the application we would like to release the memory for GC when user leaves our dashboard screens.
    Another question I have is:
    2) When a application module passivation occurs, will there be a snapshot taken for all view rows and entity caches or will it be only for pending DB state - entities added/modified/deleted? - We have lot of cases in our application where we display read-only dashboards and I am trying to understand if we can turnoff the passivation on view objects used to display read-only data if passivation deals with only pending DB state.
    Please suggest.

    Hi,
    1) When user is on dashboard and moves to other pages of the application, is there a way to release the memory used by view objects and underlying entity objects used by the views used to display the dashboard? Another point here is, our application requirement is to refresh the data from database when user moves between screens. Even if user switches back to dashboard screen after moving to other screen the data needs to be queried anyway. So for better memory management of the application we would like to release the memory for GC when user leaves our dashboard screens.
    Note that premature optimization can be contra-productive and often is the root of all evil. In other words, as long as you don't experience performance problems, I would let the framework do its job - so be careful wanting too much without a reason. Anyway, to clear the entity cache (and this is the only memory you need to bother for) you can call  <ApplicationModuleInstance>.getTransaction().clearEntityCache(String entityName);
    clearEntityCache
    public void clearEntityCache(java.lang.String entityName)
    Clears the cache of the specified Entity Object. A value of null clears the caches of all Entities. If a View Object uses the Entity Object, the View Object's cache will be cleared as well.
    Parameters:
    entityName - the name of the entity whose cache is to be cleared. If null, caches for all entities are cleared.
    Another question I have is:
    2) When a application module passivation occurs, will there be a snapshot taken for all view rows and entity caches or will it be only for pending DB state - entities added/modified/deleted? - We have lot of cases in our application where we display read-only dashboards and I am trying to understand if we can turnoff the passivation on view objects used to display read-only data if passivation deals with only pending DB state.
    Passivation is for pending changes only and not for all queried data. You define passivation on the AM level and you can switch it off there. In this case I suggest you use an Application Module that speacifically holds the dashboard queries.
    Since performance is your concern I recommend you reading:
    Advanced View Object Techniques - 11g Release 1 (11.1.1.7.0)
    Tuning Application Module Pools and Connection Pools - 11g Release 1 (11.1.1.7.0)
    Frank

  • Iterating through master view objects and child view objects in same page

    I am working on a project using ADF UIX and Business Components.
    I have an application module with two view objects one the master view object and the second the detail object. They are related via a view link.
    I would like to iterate through the master view objects displaying a customer name as bold text and then below each customer name I'd like to display the detail records in a table via the detail view object i.e. a seprate table for each customer.
    Is this possible - I haven't had much luck!?
    Thanks in advance.

    That's because
    $(".ms-vb2 a").
    is bringing back all the pieces that have that class with an anchor on the whole page, not just the ones in the .ms-wpContentDivSpace
    I don't know the exact syntax, but I think you need to iterate through all the '.ms_vb2 a' items as well - there are multiple ones, and do something like this inside your other grouping
    $(".ms-vb2 a").each(function(index) {
        var val=$(this).html();
       var val2=val.replace(/_/g," ")
       $(this).html(val2);
    That's not quite right but maybe that will help.
    Robin

  • How To change the ADF View Object  query where-clause at RunTime?

    I am trying to create a simple display page which will display user data (username, assoc_dist_id, assoc_agent_id, status , etc). The User data is stored in a database table and i am using an ADF Read Only table based on the View Object to display the data on the JSF page.
    However, i want to display only the users that a particular person accessing the page has the AUTH LEVEL to see. e.g. If the person accessing the page is an 'ApplicationAdministrator' then the page should display all users in the table, If its a 'DistributorAdministrator' then the page should display only users associated with that Distributor (i.e. assoc_dist_id = :p_Dist_id ) and If its an 'AgentAdministrator' , then the page should display only users associated with that Agent ( i.e. assoc_agent_id = :p_Agent_id).
    Currently my af:table component displays all the users in the table because the query for the view object is (select * from users) . However, i want to use the same viewobject and just set the where-clause at runtime with the appropriate parameter to restrict the dataset returned.
    Do anyone knows how to accomplish this ?

    David,
    See the custom method initializeDynamicVariableDefaults() in the SRViewObjectImpl.java class in the FrameworkExtentions project in the SRDemoSampleADFBC sample application. You can find out how to install the demo if you haven't already from the ADF Learning Center at:
    http://www.oracle.com/technology/products/adf/learnadf.html
    This class is a framework extension class for view objects that adds a neat, generic feature to be able to dynamic default the value of named bind variables. You can read more about what framework extension classes are and how to use them in Chapter 25, "Advanced Business Components Techniques" of the ADF Developer's Guide for Forms/4GL Developers, also available at the learning center above.
    It is an example of generic framework functionality that "kicks in" based on the presence of custom metadata properties on a named bind variable. See section 25.3.3 "Implementing Generic Functionality Driven by Custom Properties" in the dev guide for more details. Using this sample code, if you add a bind variable to a view object, and define a custom metadata property named "DynamicDefaultValue" on that bind variable, and set this custom metadata property to the value "CurrentUser", then that bind variable will have its value dynamically defaulted to the name of the authenticated user logged in. If instead you set this custom property to the value "UserRole", then the bind variable will be set to the comma-separated string containing the list of roles that the authenticated user is part of.
    Once you've created a framework extension class for view objects like this, you can have the view objects you create inherit this generic functionality.See section 25.1.4 "How to Base an ADF Component on a Framework Extension Class" in the dev guide for more info on this.
    By adapting a technique like this (or some idea similar that better suits your needs) you can have your view object query contain bind variables whose values automatically take on the defaults based on something in the user-session environment.

  • Using ADF View object create method in Data Action

    I need to know how to create a new row in an application module method and get the attributes from the ADF input form.
    If i Drag drop the create method in the data action form it is working fine. But how to do this programmatically, I have a need where i need to execute a query on another view object and set the create method.
    Thanks.

    Steven:
    (My application does not need to show all records and provide Edit/ Remove buttons at row level, navgational buttons and Create button for inserting new record. Instead, I would just open a blank record for entry, and commit)
    As per your post, I followed the following steps (action class) to insert blank record:
    DCBindingContainer bindings = actionContext.getBindingContainer();
    DCControlBinding binding = bindings.findCtrlBinding("Id");
    Row row = binding.getRowIterator().createRow();
    row.setNewRowState(row.STATUS_INITIALIZED);
    RowSetIterator rs =(RowSetIterator)
    binding.getRowIterator();
    rs.insertRow(row);
    End Results: It works fine and a new blank record is created. The only problem is <html:errors/> in JSP throws error for the first time. I do not want to elliminate error object from JSP.
    Please help!
    Thanks in advance

  • Passing SQL Server identity attributes values into adf entity objects

    Hi all.
    I'm using Jdeveloper 10g for developing an ADF Swing application based on MS SQL Server DB.
    Does anyone know if it is possible to pass SQL Server identity attributes values into the correspondent attrributes of adf entity objects, like we do with Oracle DB Sequence.
    The problem is that i should somhow implement cascade deleting of detail view objects, so i should use the composition association. But since i cant fill the primary key attribute with appropriate value (that is actually a ms sql server db sequence value) i always get
    the following exception: oracle.jbo.InvalidOwnerException: JBO-25030 as i try to create a new pair of master/detail objects.
    Thanks in advance.
    Alex.

    The approach is good. but i still dont understand how i can address the sql server db sequence (identity field) programmatically...
    The code offered
    SequenceImpl sequence = new SequenceImpl("PRODUCTS_SEQ",getDBTransaction());
    setProdId(sequence.getSequenceNumber());
    generates something like this:
    select deq_name.nextval from dual
    but this syntax works for oracle only... and not for sql server...
    Edited by: Timin on Mar 26, 2009 6:34 AM
    Edited by: Timin on Mar 26, 2009 10:25 AM

  • Why ADF Business Components and TopLink

    Hi All,
    Why are there two types of components in Businses Tier? (ADF Business Components and TopLink). Even through there are other types, I can visualize the use of other components but ADF Business Components & TopLink seems to serve the same requirement.
    Can some one provide me information on what is the difference between these two and when to use which one?

    ADF Business Components (aka BC4J) are different from Toplink from approach point of view. Basically if you are more comfortable with SQL and want fine grain control over what and how SQL are run against the database, BC4J is the way to go, because, it's you who write the queries(in ViewObjects)
    If you are from more of java backgroup and can visualize things in term of Object and relationships among objects, so on and so forth then Toplink would be the right choice.
    Pls see the post by Shay in his blog:
    http://blogs.oracle.com/shay/2006/03/10
    regards - rutwik

  • Enhance Req: ADF BC Assoc and Link editor

    Hi JDev team
    I'd like to raise the following enhancement requests please for JDev 11g TP.
    For both the ADF BC Association and Link editor, to view the Relationship you need to click on the Relationship category. Seems to me 9 times out of 10 when you access these objects you want to see the relationship. I'd suggest the Relationship information needs to be under the General category as part of the default view.
    Can you raise an enhancement request for this please.
    Also, for the Association editor, to view the properties of the association, you need to click on the Relationship category, Accessors editor button, and then in the Association Properties dialog you see the association properties (eg. Implement Cascade Delete etc). This seems unnecessarily hidden too deeply.
    Can you raise an enhancement request to promote these options to the editor rather than in this dialog please.
    Thanks & regards,
    CM.

    Filed ER for the first one (#6121857)
    The 2nd one has already been implemented post-JavaOne Tech Preview. There is a "Behavior" section on the Relationship panel now with those options accessible.

  • Creating Binding Between ADf input LOV and ViewObject at runtime

    I am creating binding at runtime between ADf input LOV and with attribute of ViewObject. When we create this binding at design time, following entry is added in pagedef of page:
    <listOfValues StaticList="false" IterBinding="UdfVO1Iterator"
    Uses="LOV_Udf1" id="Udf1"/>
    I am creating this binding at runtime instead of design time by creating JUCtrlListBinding object by following code:
    JUCtrlListBinding vb = new JUCtrlListBinding(rit2,ib,new String[]{"Udf1"},JUCtrlListBinding.LIST_OPER_SET_ATTRIBUTE);
    vb.setName("Udf1");
    where rit2 is RichInputListOfValue control, ib is iterator binding. but i am not finding any way to set "LOV_Udf1" which is name of LOV_Udf1. Kindly help me

    Kindly some one help me

  • ADF Faces: PPR and Dialog framework

    Hi All,
    I know that there have been some navigation-related issues reported with 10.1.3 and the dialog framework, so if this is a bug.....
    Anyway, I have an ADF Faces page that displays some data (from ADF View Object) in an af:Table. I have an "Edit Record" button and a "Create Record" button in the appropriate facets of the table. The 2 buttons use a dialog: navigation case (useWindow=true) to open a pop-up window with a record displayed for editing. Each of the buttons also has partialSubmit=true with an appropriate ID set on the button.
    Now, I am trying to get the table to refresh upon return from the dialog. After much experimentation, I have found that setting the partialTriggers property on the af:OutputText components that are inside the af:Table->af:Column will cause an existing row to refresh upon return from the edit button. However, I cannot get a new row to show up inside of the table upon return from the create button. I have tried setting partial triggers on the af:OutputText, af:Column, af:Table, etc all the way up to the top-level af:Page to no avail. I have also tried refreshing the iterator binding in the dialog return, to no avail. If I completely refresh the page (see sample code below), the record does show up, but it does cause other undesirable side effects (screen scrolls to the top, af:showDetailHeader's re-set their state, etc).
    Any pointers are appreciated...
    Here is the code behind my create button:
      public String performCreateCheck()
        DCBindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("CreateNewCheck");
        Object result = operationBinding.execute();
        // Stuff snipped - the CreateNewCheck binding does a "CreateInsert" on my VO
        return "dialog:EditCheck";
      }Here is the code that refreshes the page (causes the new row to appear):
      protected void refreshCurrentPage()
        FacesContext context = FacesContext.getCurrentInstance();
        String currentView = context.getViewRoot().getViewId();
        ViewHandler vh = context.getApplication().getViewHandler();
        UIViewRoot x = vh.createView(context, currentView);
        x.setViewId(currentView);
        context.setViewRoot(x);
      }Kind regards,
    John

    Found this: http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#81
    on Steve M's blog. His example uses exactly the same method that I do. However, It would be nice to get this working "properly" with PPR instead of refreshing the whole page. Here are what I see as the drawbacks to the "refresh the whole page" method:
    1). The page will scroll up to the top. If the page is bigger than a screenful, this is an annoyance.
    2). Any af:showDetailHeader's will have their disclosed property reset (unless you implement some method of saving their state). This is an issue for me, as the af:Table is inside of a normally un-disclosed af:showDetailHeader
    3). If any component anywhere puts something into the faces messages (e.g. "Record saved"), it will be lost when the page is refreshed.
    Any ideas on how to get this working with PPR?
    Regards,
    John

  • 11G ADF java datacontrol and displaying new records in ADF table

    Hi,
    In 11g I have a java class which return a list of objects and I made a data control on it. I displayed this in a ADF Table based on a ADF tree binding.
    When I fire the create operation on this java data control I see in the tree binding that the new entry is created and even the table has the correct
    rowcount but the new records are not displayed in the adf table. I added PPR but this not work.
    Empty new classes are displayed when they are added before the page is loaded.
    the only difference between a class created by ADF and initial by the adf datacontrol is that mAtrrHintsMap hashmap of DCdataRow is null and the other has 2 entries
    What can it be in 10.1.3 it works
    here my test data
    public class Data {
    private String lovLabel;
    private String lovValue;
    public Data() {
    public Data(String lovLabel, String lovValue) {
    super();
    this.lovLabel = lovLabel;
    this.lovValue = lovValue;
    public void setLovLabel(String lovLabel) {
    this.lovLabel = lovLabel;
    public String getLovLabel() {
    return lovLabel;
    public void setLovValue(String lovValue) {
    this.lovValue = lovValue;
    public String getLovValue() {
    return lovValue;
    here the data control class
    public class LovData {
    public LovData() {
    public List<Data> getLovData() {
    List<Data> data = new ArrayList<Data>(4);
    data.add(new Data ("One","1"));
    data.add(new Data ("Two","2"));
    data.add(new Data ("Three","3"));
    data.add(new Data ());
    return data;
    here is the pagedef
    <executables>
    <methodIterator id="getLovDataIter" Binds="getLovData.result"
    DataControl="LovData" RangeSize="25"
    BeanClass="nl.whitehorses.model.Data"/>
    </executables>
    <bindings>
    <methodAction id="getLovData" InstanceName="LovData.dataProvider"
    DataControl="LovData" RequiresUpdateModel="true"
    Action="invokeMethod" MethodName="getLovData"
    IsViewObjectMethod="false"
    ReturnName="LovData.methodResults.getLovData_LovData_dataProvider_getLovData_result">
    </methodAction>
    <tree IterBinding="getLovDataIter" id="Data">
    <nodeDefinition DefName="nl.whitehorses.model.Data">
    <AttrNames>
    <Item Value="lovLabel"/>
    <Item Value="lovValue"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    <action IterBinding="getLovDataIter" id="Create" RequiresUpdateModel="true"
    Action="createRow"/>
    </bindings>
    </pageDefinition>
    here is the adf page
    <af:panelCollection inlineStyle="width:309px; height:168px;" id="pc2">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar>
    <af:commandToolbarButton actionListener="#{bindings.Create.execute}"
    text="Create"
    disabled="#{!bindings.Create.enabled}"
    partialTriggers="table1 ::pc1:table2"/>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.Data.collectionModel}" var="row"
    rows="#{bindings.Data.rangeSize}"
    emptyText="#{bindings.Data.viewable ? 'No rows yet.' : 'Access Denied.'}"
    fetchSize="#{bindings.Data.rangeSize}" id="table1"
    binding="#{UserPreferences.table1}">
    <af:column sortProperty="lovLabel" sortable="false"
    headerText="#{data.lovLabel}">
    <af:outputText value="#{row.lovLabel}"/>
    </af:column>
    <af:column sortProperty="lovValue" sortable="false"
    headerText="#{bindings.Data.hints.lovValue.label}">
    <af:outputText value="#{row.lovValue}"/>
    </af:column>
    </af:table>
    </af:panelCollection>
    and here some backing bean code
    DCBindingContainer bc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    FacesCtrlHierBinding treeData = (FacesCtrlHierBinding)bc.getControlBinding("Data");
    Row[] rows = treeData.getAllRowsInRange();
    System.out.println("tree 1_1 "+rows.length+" "+table1.getRowCount());
    treeData.refreshControl();
    System.out.println("tree 1_2 "+rows.length+" "+table1.getRowCount());
    AdfFacesContext.getCurrentInstance().addPartialTarget(table1) ;
    hope this helps
    thanks Edwin

    What if you place the create button in the same panelGroup as the table?
    I did a quick try and it seemed to work fine for me.
    jspx code:
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=windows-1252"/>
      <f:view>
        <af:document>
          <af:messages/>
          <af:form>
            <af:panelGroupLayout>
              <af:commandButton actionListener="#{bindings.Create.execute}"
                                text="Create"
                                disabled="#{!bindings.Create.enabled}"
                                partialTriggers="table1"/>
              <af:table value="#{bindings.lovData.collectionModel}" var="row"
                        rows="#{bindings.lovData.rangeSize}"
                        emptyText="#{bindings.lovData.viewable ? 'No rows yet.' : 'Access Denied.'}"
                        fetchSize="#{bindings.lovData.rangeSize}" id="table1">
                <af:column sortProperty="lovLabel" sortable="false"
                           headerText="#{bindings.lovData.hints.lovLabel.label}">
                  <af:outputText value="#{row.lovLabel}"/>
                </af:column>
                <af:column sortProperty="lovValue" sortable="false"
                           headerText="#{bindings.lovData.hints.lovValue.label}">
                  <af:outputText value="#{row.lovValue}"/>
                </af:column>
              </af:table>
            </af:panelGroupLayout>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>

  • How to find a autorization object and roles for paricuu00F6llar documetytpe(DMS

    Hello,
    I have a question,Its urgent ..#
    For a particular document type (for example PPN)..
    How to find a authorization object and roles...Please let me know.
    In the DIS which autority object and roles they use it for this.
    <b><REMOVED BY MODERATOR></b>
    Regards
    preethi
    Message was edited by:
            Alvaro Tejada Galindo

    This issue seems to be resolved since jDeveloper/ADF 11.1.1.3.
    Am I true?

Maybe you are looking for