Controlling SelectManyCheckbox layout in ADF Faces

Hi,
The only possibilities for the layout for an ADF faces select many checkbox seem to be "horizontal" or "vertical". How can we control the layout to say - have 10 checkboxes laid out horizontally in two groups of 5 vertically laid out checkboxes ?
If there is no such attribute to control the layout better, does anyone have any recommendations on how this can be accomplished in any alternative way?
Thank you

Hi,
no, but what about using a scrollbar?
<af:form inlineStyle="width:400px; height:200px; overflow:auto;">
          <af:selectManyCheckbox label="Departments" layout="vertical">
            <af:forEach items="#{bindings.DepartmentsView1.rangeSet}" var="li">
              <af:selectItem label="#{li.DepartmentName}"
                             value="#{li.DepartmentId}"/>
            </af:forEach>
          </af:selectManyCheckbox>
        </af:form>Frank

Similar Messages

  • (2nd POST) The correct way to do "custom layout" with ADF Faces

    Hi all,
    I need the capability to do custom layout of ADF Faces page (other than the default layout we got after we drag data controls). For example I need layout like below :
    Order Number : xxxx ............................................................Gross : 999,999
    Order Date : xx/xx/xxxx ........................................................Discount : 999,999
    Customer : code - name.........................................................Tax : 999,999
    Salesman : code - name.........................................................Netto : 999,999
    (the dotted line represents spaces)
    Currently I do it with </afh:rowLayout> plus.. many..many </h:panelGrid>, so I am looking a better way. what is that ?
    Below is sample of my code :
    <afh:rowLayout>
    <h:panelGrid columns="1" width="100" style="font-size:80.0%;">
    <f:verbatim>
    Order Number.
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="400">
    <af:outputText value="#{bindings.SphView1Spno.inputValue}"
    inlineStyle="font-size:80.0%;"/>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10"/>
    <h:panelGrid columns="1" width="60" style="font-size:80.0%;">
    <f:verbatim>
    Gross
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100" style="text-align:right;">
    <af:outputText value="#{bindings.SphView1Gross.inputValue}"
    inlineStyle="font-size:80.0%; text-align:right;">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.SphView1Gross.format}"/>
    </af:outputText>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100"
    style="padding:1.0%; text-align:left;">
    <af:outputText value="#{bindings.Valuta.inputValue}"
    inlineStyle="font-size:80.0%;"/>
    </h:panelGrid>
    </afh:rowLayout>
    <afh:rowLayout>
    <h:panelGrid columns="1" width="100" style="font-size:80.0%;">
    <f:verbatim>
    SP Date
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="400">
    <af:outputText value="#{bindings.SphView1Spdate.inputValue}"
    inlineStyle="font-size:80.0%;">
    <f:convertDateTime pattern="#{bindings.SphView1Spdate.format}"/>
    </af:outputText>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10"/>
    <h:panelGrid columns="1" width="60" style="font-size:80.0%;">
    <f:verbatim>
    Discount
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100" style="text-align:right;">
    <af:outputText value="#{bindings.SphView1DiscBp.inputValue}"
    inlineStyle="font-size:80.0%;">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.SphView1DiscBp.format}"/>
    </af:outputText>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100"
    style="padding:1.0%; text-align:left;">
    <af:outputText value="#{bindings.Valuta.inputValue}"
    inlineStyle="font-size:80.0%;"/>
    </h:panelGrid>
    </afh:rowLayout>
    Thank you very much,
    xtanto

    Xtanto,
    yes. The way to build such layouts is to nest containers
    Frank

  • The correct way to do "custom layout" with ADF Faces

    Hi all,
    I need the capability to do custom layout of ADF Faces page (other than the default layout we got after we drag data controls). For example I need layout like below :
    Order Number : xxxx ............................................................Gross : 999,999
    Order Date : xx/xx/xxxx ........................................................Discount : 999,999
    Customer : code - name.........................................................Tax : 999,999
    Salesman : code - name.........................................................Netto : 999,999
    (the dotted line represents spaces)
    Currently I do it with </afh:rowLayout> plus.. many..many </h:panelGrid>, so I am looking a better way. what is that ?
    Below is sample of my code :
    <afh:rowLayout>
    <h:panelGrid columns="1" width="100" style="font-size:80.0%;">
    <f:verbatim>
    Order Number.
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="400">
    <af:outputText value="#{bindings.SphView1Spno.inputValue}"
    inlineStyle="font-size:80.0%;"/>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10"/>
    <h:panelGrid columns="1" width="60" style="font-size:80.0%;">
    <f:verbatim>
    Gross
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100" style="text-align:right;">
    <af:outputText value="#{bindings.SphView1Gross.inputValue}"
    inlineStyle="font-size:80.0%; text-align:right;">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.SphView1Gross.format}"/>
    </af:outputText>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100"
    style="padding:1.0%; text-align:left;">
    <af:outputText value="#{bindings.Valuta.inputValue}"
    inlineStyle="font-size:80.0%;"/>
    </h:panelGrid>
    </afh:rowLayout>
    <afh:rowLayout>
    <h:panelGrid columns="1" width="100" style="font-size:80.0%;">
    <f:verbatim>
    SP Date
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="400">
    <af:outputText value="#{bindings.SphView1Spdate.inputValue}"
    inlineStyle="font-size:80.0%;">
    <f:convertDateTime pattern="#{bindings.SphView1Spdate.format}"/>
    </af:outputText>
    </h:panelGrid>
    <h:panelGrid columns="1" width="10"/>
    <h:panelGrid columns="1" width="60" style="font-size:80.0%;">
    <f:verbatim>
    Discount
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1">
    <f:verbatim>
    </f:verbatim>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100" style="text-align:right;">
    <af:outputText value="#{bindings.SphView1DiscBp.inputValue}"
    inlineStyle="font-size:80.0%;">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.SphView1DiscBp.format}"/>
    </af:outputText>
    </h:panelGrid>
    <h:panelGrid columns="1" width="100"
    style="padding:1.0%; text-align:left;">
    <af:outputText value="#{bindings.Valuta.inputValue}"
    inlineStyle="font-size:80.0%;"/>
    </h:panelGrid>
    </afh:rowLayout>
    Thank you very much,
    xtanto

    Unfotunately nesting layouts or creating custom layouts is the best approach at this time. You may want to take a look at the folloing library to replace of your verbatim tags.
    http://jsftutorials.net/htmLib/

  • JDeveloper 10.1.3.4.0: Controlling HTML formatting of ADF Faces components

    I have been investigating the ADF Faces components, and some of them write a fairly substantial block of HTML to the browser.
    The inputText, for example, renders an HTML table containing, among other things, an input, required field indicator, and a span for error display.
    This would appear to limit the amount of control a page designer would have over the precise layout of these sub-elements.
    We are en E-Commerce shop, so the ability to control the exact layout of our pages is critical to our business.
    Are the ADF Faces components going to allow us the fine-grained UI control we need?
    It could be a coincidence, but it seems as if all the real-world application examples in the ADF documentation seem to be business-type applications,
    where the UI is right out of the box with minimal tweaking.
    Thanks,
    Jonathan

    Jonathan,
    For a label above the text you can use this:
                <af:group>
                  <af:outputLabel value="outputLabel1"/>
                  <af:inputText/>
                </af:group>You can also achieve a lot of other customization with skins for ADF Faces components.
    But more to the point - since the JSF components offer you more then just basic HTML component I guess there might be a limit to the customization you can do to them.
    At the end your company will need to make the call on what is more valuable - the ability to stick exactly to a style or the ability to use components with rich functionality that save you coding.
    Think for example how much coding on the client you'll need to do in standard JSP/HTML to achieve what the ADF Table component gives you out of the box (sorting, range paging, detail disclosure, banding, etc). Maybe it is worthwhile to be a little more flexible on the layout issues instead of ending up wasting a lot of time writing these code.
    In any case even if you choose to go with plain JSP and Struts or with plain JSF and the plain JSF components - the ADF framework will still enable you to do drag and drop binding to your UI.
    The benefit of the ADF Faces components is the built in functionality they provide with things like partial page rendering, Ajax functionality etc...

  • EJB 3.0 / Data control binding / ADF Faces

    We have a great and very useful tool to generate rich client web application. Generate web component from a data structure is easy but manage the full life cycle is a little bit more complex. This complexity is dramatically increased when tool/platform are offering many models to solve the problem.
    In JDev we have three major choices:
    1) adf business components
    2) top link pojo
    3) ejb3.0
    From the client side and in my point of view (at my current understanding) the first and second choice are the easiest way to manage the persistence because they are what i say "bidirectional", that mean i will use the same data structure to persist and synchronize the database. I may only calll a method from the object to put my changes from the midle-tier into the database.
    EJB 3.0 seem to be more cormplex due essentially to the presence of the session bean that acts like conversational api. I like this architecture because it is the most flexible but from my client i have to manage these api's instead of one data structure. This mean for me to catch/detect every updates, new insert or deletes in my business object and to write the corresponding code to apply to correct entity bean methods from my session bean.
    Why not manage this logic in the data control framework by declaring which methods are to use as finder to get the data and which methods are to used to manage the persistence (persist, merge, remove) at object level.

    Exactly what i mean
    Actually Data Control architecture seem to be business object oriented with native method called from the same object to retrieve (the most part done)/synchronize the data with the database.
    This is fine than your architectue don't provide a service layer like session facade.
    With session facade you will access different business method to retrieve data and synchronize you data with the database not different method from the same object like application module do in adf bc.
    I see two solution, the best is that you extend the data control framework to offer standard crud operation and a tools to map these with one or many methods in the same (has to be the same?this is a question of architecture, i think it has to be the same but the framework may have to permit to use an another one for flexibility) session bean. This may be the same from adf bc or top link but the method may be selected automatically by the tool (wizard).
    The second solution is to build specialized sesssion bean with mandatory standardized methods and map this directly in the framework. The advantage i see is that the updates may be collected only once by the session bean by passing a specialized object manipulated by a specialized method.
    In fact the best solution is something that combines mapping in the data control and a specialized set of methods in the session bean to execute a transaction in a whole at the server level.
    What is to be decided if the framework (data control part) has to maintain a status for attribute (or set of attribute that correspond to a data control node) that are new inserted, updated or deleted and to synchronize only the changes.
    I'm very surprising that something like that it is not already in the framework ?
    How do I have to take care of changes made in a data control node object when i have used it to generate an adf faces by example in master / detail pages with an edit form like in otn examples. I see that the detail list in the detail table is updated so the data control is updated correctly by the edit form when i submit the changes but how to finally get this changes and synchronize with the database ?
    ps i reply previously by mistake by email sorry ... not that the email is not exactly the same as the post here
    Michel

  • ADF Faces: How do I set values for input controls in an af:table

    Use case: user enters master/detail information into an input form using an af:table for the desired number of detail rows.
    I have an ADF Faces input form with master level input controls, and an af:table (bound to a backing bean CoreTable) for the detail data set.
    The input controls are value bound to updateable view objects built from entity objects, with the appropriate view links providing master/detail iterators.
    Once the user has entered the master keys (via inputTexts, and selectOneChoices), I create a row in the detail VO, thus creating a visible blank row in the af:table.
    The user then completes the key for the detail row (in the af:table) by selecting a value in a selectOneChoice (in a af:column) with autoSubmit on and a valueChangeListener that sets the VO row attribute with the new value.
    The user then continues to enter into the remaining inputTexts and selectOneChoices in the af:columns until all values have been entered.
    I do not have autoSubmit on for any input controls in the af:columns other than the key, for performance improvement.
    The user can then use a command button (which has an action method) to create another row in the af:table.
    But, (in the action method) I need to set the values for the 1st detail VO row attributes, from the input controls, before creating another row.
    The input controls are bound to backing bean CoreInputText and CoreSelectOneChoice objects, and they have not set their values at this point, even though I have partialSubmit on for the "New Row" command button.
    I do not value bind the input controls in the af:columns to the backing bean objects, because we need to display data for all rows entered into the af:table.
    Any advice on the best way to perform this operation would be very appreciated!!!!

    Thanks for the reply Steve!!
    Yes, I followed the techniques in Screencast#7, and it works great in my edit page.
    But I am having problems with my input form.
    I actually have master/detail/detail relationship for which I am creating an input form.
    I created the input form as a copy of the edit form, and am making revisions as necessary.
    I created new view objects for the input form (from my three entity objects), which have the "Tuning" set to retrieve "No Rows (i.e. used only for inserting new rows)"
    I added an invokeAction that binds the "CreateInsert" action on the master iterator, so when the page is first displayed, the master level controls are available for data entry (as in 13.6.2 in the Developers Guide): but the first level detail controls are not rendered, and the af:table (for the second level detail) is rendered but with no rows.
    Once the user enters key values for the master (a three part key), I manually create a first level detail row by executing the "CreateInsert" action binding for the first level detail iterator.
    Continuing on, the user then enters a key value for the first level detail I manually create a second level detail row using it's "CreateInsert" action binding.
    Now the user has a form with all master and first level detail controls completed and one empty row in the af:table for it's first entry.
    The key column in the af:table has autoSubmit on, and an value change listener. That listener uses it's getNewValue() to set the key value ("locationCode" in this case) using
    setLocationCode from the ViewRowImpl. Here is that value change listener:
    public void locationChanged(ValueChangeEvent event) {
    if (null != event.getNewValue()) {
    LocObsCreateViewRowImpl locCreateRow = (LocObsCreateViewRowImpl)appMod.findViewObject("LocObsCreateView").getCurrentRow();
    if (null == locCreateRow.getLocationCode()) {
    locCreateRow.setLocationCode(event.getNewValue().toString());
    Now comes my problem: once they have entered the values in the remaining columns, they can use a command button to create another row in the 2nd detail iterator, thus creating another visible empty row in the af:table. But the values from the first row (other than the key column) are not assigned to the row in the collection and I can't figure out how to set values in the collection's row.
    I imagine I'm missing something using bindings and the Request Processing Lifecycle, and after reading this I can see how much manual work is going on.
    The users have specified the need to have all information available on one page, so I've designed it so they can insert and iterate through the first level detail collection.
    They have also asked to not use the mouse; they are looking for a "heads-down-data-entry" system.
    Again, I really appreciate any advice you could give.
    Jeffrey

  • Adf faces, data control and more than one session context ?

    I already put the question in the forum but nobody answered may be my question may not be so clear so i would put it again with other words.
    Each xml page definition are instantiated in a binding container for a http session, you are able to get the data with bindings or data that represent the current binding container (bindings) or a given container corresponding to an another page that the current (data).
    It is perfect when you don't allow multiple instances of the same page in the same application session. Browser are now offering tab management that allow user to navigate through multiple applications just by changing the current tab. It's very useful. I imagine that user's will be using it also in my application and will use it to compare or more simply just watch about two different entities of the same type (the same xml page definition, the same object instantiated in the binding container).
    Because the binding container is associated with the http session all tabs will share the same one, isn't ? So i understand the problem and that it is forbidden to have many identical page for a single instance in the binding container because of synchronization issues.
    Is all that i said true ?
    Is it a way to solve this type of problem ?
    Will this problem be addressed by adf faces and data controls ?
    Hope somebody will answer !
    Message was edited by:
    micwic

    I already put the question in the forum but nobody answered may be my question may not be so clear so i would put it again with other words.
    Each xml page definition are instantiated in a binding container for a http session, you are able to get the data with bindings or data that represent the current binding container (bindings) or a given container corresponding to an another page that the current (data).
    It is perfect when you don't allow multiple instances of the same page in the same application session. Browser are now offering tab management that allow user to navigate through multiple applications just by changing the current tab. It's very useful. I imagine that user's will be using it also in my application and will use it to compare or more simply just watch about two different entities of the same type (the same xml page definition, the same object instantiated in the binding container).
    Because the binding container is associated with the http session all tabs will share the same one, isn't ? So i understand the problem and that it is forbidden to have many identical page for a single instance in the binding container because of synchronization issues.
    Is all that i said true ?
    Is it a way to solve this type of problem ?
    Will this problem be addressed by adf faces and data controls ?
    Hope somebody will answer !
    Message was edited by:
    micwic

  • ADF FACES: HTML template text Layout is broken when uses ADF Faces tags

    This works fine:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <f:view>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta>
    </head>
    <body>
    <h:form>
    <table border="1">
    <tr>
    <td width="45%">
    <h:dataTable rows="5" bgcolor="Red" value="#{class1.names}" var="name">
    <h:column>
    <h:outputText value="#{name}"/>
    </h:column>
    <h:column>
    <h:outputText value="#{name}"/>
    </h:column>
    </h:dataTable>
    </td>
    <td width="55%">
    <h:inputText/>
    </td>
    </tr>
    </table>
    </h:form>
    </body>
    </html>
    </f:view>
    => a table is rendered with one row and two columns; in the first column the data table is rendered in the second the inputText
    Changing to ADF Faces tags breaks the layout:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/EA11" prefix="af"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/EA11/html" prefix="afh"%>
    <f:view>
    <afh:html>
    <afh:head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta>
    </afh:head>
    <afh:body>
    <af:form>
    <table border="1">
    <tr>
    <td>
    <af:table rows="5" value="#{class1.names}" var="name">
    <af:column>
    <h:outputText value="#{name}"/>
    </af:column>
    <af:column>
    <h:outputText value="#{name}"/>
    </af:column>
    </af:table>
    </td>
    <td>
    <h:inputText/>
    </td>
    </tr>
    </table>
    </af:form>
    </afh:body>
    </afh:html>
    </f:view>
    => at the begin of the page an empty table is rendered; below the data table is rendered and below the inputText
    It think it should be possible to layout the page with HTML template text and use ADF Faces tags.

    As of EA12 (and EA13) <afh:body> is what is known as a "rendersChildren" tag. It needs to do so in order to support partial-page rendering This means that template text inside it needs to be wrapped inside <f:verbatim>.
    For later releases of ADF Faces, I've filed an enhancement request to loosen up this restriction for <afh:body>.

  • ADF Faces Layout

    I want to have 3 VOs on a page. And I want to have it on nice layout. Something looks like down here.
    One| VO no 2 here
    BiG|--------------------------
    VO | VO no 3 here
    What is the ADF Faces component to do this laytouting?
    Regards
    Eric

    Check out this detailed description of the layout components:
    http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/tagdoc/core/imageIndex.html
    Specifically your case looks like a panelForm with 2 columns and other panelForms inside each one.

  • ADF Faces & BC: Best pratices for project layout

    Season greetings my fellow JDevelopers!
    Our software group has been working with ADF for around 5 years and through the years we have accumulated a good amount of knowledge working with JDeveloper and ADF. Much of our current application structure has been resurrected in the early days of JDeveloper 10 where there were more samples codes floating around then there were "best pratice" documentation. I understand this is a subjective topic and varies site to site, but I believe there is a set of common practices our group has started to identify as critical to streamlining a development process(reusable decorated ui components, modular common biz logic, team development with svn, continuous integration/build, etc..). One of our development goals is to minimize dependency between each engineer as everyone is responsible for both client and middle layer implementation without losing coding consistency. After speaking with a couple of the aces at the last openworld, I understand much of our anticipated architectural requirements are met with JDeveloper 11(with the introduction of templates, declarative components, bounded task flows, etc..) but due to time constraints on upcoming deliverables we are still about an year away before moving on with that new release. The following is a little bit about our group/application.
    JDeveloper version: 10.1.3.4
    Number of developers: 7
    Developer responsibilties: Build both faces & bc code
    We have two applications currently in our production environments.
    1.A flavor of Steve Muench's dynamic jdbc credentials login module
    2.Core ADF Faces & BC application
    In our Core ADF Faces application, we have the following structure:
    OurApplication
         -OurApplicationLib (Common framework files)
         -OurApplicationModel (BC project)
              -src/org/ourapp/module1
              -src/org/ourapp/module2
         -OurApplicationView (Faces project)
              public_html/ourapp/module1
              public_html/ourapp/module2
              src/org/ourapp/backing/module1
              src/org/ourapp/backing/module2
              src/org/ourapp/pageDefs/
    Total Number of Application Modules: 15 (Including one RootApplicationModule which references module specific AMs)
    Total Number View Objects: 171
    Total Number of Entities: 58
    Total Number of BC Files: 1734
    Total Number of JSPs: 246
    Total Number of pageDefs: 236
    Total Number of navigation cases in faces-config.xml: 127
    Total Number of application files: 4183
    Total application size: 180megs
    Are there any other ways to divide up this application? Ie: module specific projects with seperate faces-config files/databindings? If so, how can these files be "hooked" together? A couple of the aces has recommended that we should separate all the entity files into its own project which make sense. Also, we are looking into the maven builds which should remove those pesky model.jpr files that constantly gets “touched”. I would to love hear how other groups are organizing their application and anything else they would like to share as an ADF best pratice.
    Cheers,
    Wes

    After discussions over the summer/autumn by members of the ADF Methodology Group I have published an ADF Coding Standards wiki page that people may find useful:
    [http://wiki.oracle.com/page/ADF+Coding+Standards]
    It's aimed at ADF 11g and is intended to be a living document - if you have comments or suggestions please post them to the ADF Methodology google group ( [http://groups.google.com/group/adf-methodology?hl=en] ).

  • Customizing ADF Faces Look & Feel. Some questions & suggestions

    Hi everybody,
    We are developing an application with ADF Faces using JHeadStart. For the moment, I am studying the way we must modify the JHS templates to adapt each element to our needs.
    As it's told in the JHeadStart Developer's Guide, there are two ways to customize Look & Feel:
    1) Modifying the templates
    2) ADF Skinning
    I'm using both methods, but I feel that thay are not good enough to adapt the L&F to our customer requirements.
    My main problem now is in the ADF Table customization. I want to use ADF Table because it offers us a lot of features that are not in the jsf table (the selection column, the table overflow...), and is very usefull combined with the generated JHS code. But at the same time, it doesn't offer a lot of functionality in the look & feel customization. Using JSF Table, I can set the CSS style for headers, rows, columns, the table, I can set the border, cellspacing and cellpadding. But I cannot do
    any of these thing (or at least, I don't see how) with the ADF Table.
    Our customer (a government) have a strict definition of the look & feel of his web applications. They want we use their CSS styles definition file, so they can modify at once the Look & Feel of all their applications. Modifying the L&F through skinning generate other styles, not use the style classes in our CSS (o so I think).
    So, the questions:
    1) There is any way to set the suitable styles for the ADF Table components (headers, rows)?
    1bis) Why, If I have defined a new skin, with only just a few selectors, some styles from oracle are applied? Maybe because the render kit in the 'adf-skins.xml' is "oracle.adf.desktop"? If it is true, how can I make that they are not used, I must implement a render kit or can I use another existent?
    2) Can I decide how looks the select column (for example a button instead of a radio button)? Can I decide where does it goes (right or left)?
    3) There is any way to hidden the text Show/Hide of the showDetail in the table (the tableOverflow), as I can change the icons through skinning? If it is not possible, How can I overwrite the text. I need it in Catalan, but it is shown in English for this locale. Where is the message bundle I should overwrite?
    4) There is any way to force a tree to start fully expanded?
    5) There is anywhere documentation about the javascript functions used in ADF and their meaning? I think for example in the previous question. If I knew which javascript function I should call for expand the tree and its parameters, I could put the call in the onload event of the body.
    6) I use a selectInputDate. I have skinned the launch-icon, and I would like to do a similar thing in the chooseDate that is opened in a new window. But It seems not to be affected for my skinning directives (if I put a chooseDate in the same page, its L&F follow the skinning rules I've defined). I don't know if this dialog is an ADF feature or a JHS generated feature.
    7) There is any way to keep unmodified the id I've choosed for a component? (I mean, an inputText with id="hello" in a form with id="form" will have in the HTML an id = "form:hello", but I would like it to be simply 'hello')
    8) How can I control the position and the size of a dialog (the chooseDate dialog or a dialog I've created)? In the cases I've been testing, it seems the dialog is forced to resize depending on the content. I would like to know if I can establish a fixed size.
    9) There is any way to open a non-modal dialog? (which I could keep open at the same time that another instance of the same dialog)
    For the moment, I think I have no more question. But give me time.... :-D
    The suggestion I've to do is basically more flexible components for a better customization (for example, the styles settings I've talked about previously). ADF components are nice and powerful, but I think they should generate pages that follow the tendencies in the web development: tableless pages (I cannot understand the utility of the objectSpacer existing the margins), use of CSS for layout...
    Any answer, comment or suggestion will be welcome.
    Carles.
    Message was edited by:
    cbios

    I have been able to make the UIX 2.2 and ADF Faces LAF look near identical by updating the oracle-desktop.xss file within UIX 2.2 as follows
    <!-- Change the accent color ramp to tan -->
    <style name="DarkAccentBackground">
    <!--<property name="background-color">#cccc99</property>-->
    <property name="background-color">#d2d8b0</property>
    </style>
    There are still some differences:
    1) A black line appears on the ADF Faces on the 'menu1' facet selected tab below the text. DON'T KNOW HOW TO REMOVE THIS FROM ADF Faces or add it to UIX 2.2!!!
    2) In UIX 2.2 a bulleted list uses the HTML <li> tag. In ADF Faces it doesn't use the HTML <li> tag rather it constructs the bulleted list using lower level HTML tags with the 'bullet' becoming an image, in my browser this means the disc is smaller in Faces. The motivation for this change I think is explained via this post. Since I have no control over how this specific HTML tag is rendered it forces me to replace the /adf/images/bltdscn.gif file in adf-faces-impl.jar with a larger disc!
    http://www.thescripts.com/forum/thread96839.html
    May update this again if there are other things I notice.

  • Help required building ADF-Swing/ADF-Faces using ADF Business Components

    My question is in regards to how you can go about building a light swing application to an ADF model?
    In particular if I were to say that we were developing a 3-tier project whereby we had a database tier, a series of EJB-ADF façade session beans to the database (middle-tier), and a swing client communicating with the session beans (view-controller tier), how would you go about developing these screens?
    In particular can we develop these screens using ADF-Faces and also ADF-Swing?
    The EJB session façade beans of course are ADF app modules with customised methods. The methods would return back customised DTO objects. These DTO objects are wrappers to row objects ADF would create. This would be mainly due to making these facade beans web service enabled (Oracle state that these methods cannot return oracle.jbo objects if they are to be web service enabled).
    This would be typically deployed to an app server, like Oracle App Server 10G.
    Could you please have a look at this, as I am doing a lot of research into this.
    eg. Taking example from oracle magazine sept/oct 2006
    with slight enhancements
    package oramag.frameworks.example.common;
    import oracle.jbo.ApplicationModule;
    import oramag.frameworks.customdto.EmployeeDTO;
    public interface HRService extends ApplicationModule {
    void deleteCurrentEmpAndCommit();
    EmployeeDTO findEmployee(int employeeId); // new method
    import oramag.frameworks.customdto.EmployeeDTO;
    public class HRServiceImpl extends ApplicationModuleImpl {
    public void deleteCurrentEmpAndCommit() {
    Row empRow = getEmpView().getCurrentRow();
    if (empRow != null) {
    empRow.remove();
    getDBTransaction().commit();
    public EmployeeDTO findEmployee(int employeeId)() {
    EmployeeDTO employeeDTO = null;
    EmployeesImpl employees = getEmployees();
    employees.setNamedWhereClauseParam("EmployeeId", employeeId);
    employees.executeQuery();
    if(employees.hasNext()) {
    EmployeesRowImpl employee = (EmployeesRowImpl)employees.next();
    employeeDTO = new EmployeeDTO(employee);
    return employeeDTO;
    public EmployeesImpl getEmployees() {
    return (EmployeesImpl)findViewObject("Employees");
    Now given the above code snippet, how could you turn this into an ADF-Swing/ADF Faces application so that if a user using the swing application enters an employee id, then the application will execute the query on the app server, the app server in turn returns the results to the client, and the client finally display the results. Typical MVC example.
    Cheers
    Rodney

    The tutorial is for ADF BC used with JavaServer Faces.
    While the tutorial doesn't cover it, we also support drag and drop development for Swing and visual WYSIWYG layout for Swing panels and windows, too. For a very simple example, watch screencast #4 on my blog here:
    http://radio.weblogs.com/0118231/stories/2005/06/24/jdeveloperAdfScreencasts.html
    One thing I have noticed is that when using ADF business components, when the app module returns a custom DTO object like the above example, it returns the data in a element structure according to the data control palette.
    You don't generally ever need to create your own custom DTO's when working with ADF for use by client UI's. The only situation where can be necessary -- until we simplify this in the JDeveloper/ADF 11g release -- is when you desire to expose custom methods that can return sets/arrays of typed row structures through a web service. However, web services are not involved/required in building 3-tier Swing applications.
    When dropping onto a page it does so like a string and doesnt give option to display the data in a read only form etc. Is there anything we need to do, to get the functionality.
    It's more of what you don't need to do :-)
    Just leverage the active data model that the ADF application module provides. You can read more about it in section 4.5 "Understanding the Active Data Model" of the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://www.oracle.com/technology/products/adf/learnadf.html). Your UI's bind to view object instances in the data model, and your UI's are automatically kept up to date without needing to write methods that return data. I short article I wrote that preceeded my writing the ADF Developer Guide content on this topis is here:
    http://radio.weblogs.com/0118231/stories/2006/01/26/theAdfBusinessComponentsActiveDataModel.html
    I know that when dropping a view object you get this functionality. Also was wondering if we were to pass an object of thios type back to the model it might not give us the rich functionality like input forms, like what Oracle provides if we were to drop a enitity view object.
    Just use the active data model and everything becomes totally easy, with no changes required to switch between local or three-tier deployment configurations.
    Trying to do everything with hand-coded DTO beans is really going the hard way.
    Could you help us regarding this?

  • How do I create multiple types of child nodes in ADF  Faces Tree Component

    Hi,
    I am trying to construct a tree using ADF Faces. The tree I am trying to develop should look something like:
    - Departments
    + Dept 10
    + Dept 20
    + Dept 30
    + Dept 40
    - Employees
    + SCOTT
    +ALLEN
    + BLAKE
    The nodes shown at the top level should serve as labels, indicating the various types of nodes available.
    I have created the top level RootLabelsViewObj, with a SQL clause:
    select rn, node_label
    from (
    select 1 rn
    , 'Employees' node_label
    from dual
    union all
    select 2 rn
    , 'Departments' node_label
    from dual
    union all
    select 3 rn
    , 'Bonusplans' node_label
    from dual
    I have created ViewLinks between the RootLabelsViewObj and the DeptView and EmpView respectively (created on top of DEPT and EMP table in SCOTT schema), based on the LABEL attribute in the RootLabelsViewObj and with ViewLink SQL specified like:
    :Bind_NodeLabel = 'Departments' for the link with DeptView and :Bind_NodeLabel = 'Employees' for the link with EmpView.
    In the ADF BC Application Module Tester, I get exactly what I want.
    However, when I create a JSF JSPX page and drag the RootLabelsViewObj from the Data Control Panel to the page as ADF Tree, I run into a little issue: it seems like I cannot create a second Branch Accessor rule for the RootLabelsViewObj1: I have created a first Branch Accessor Rule referring to DeptView and now try to create a second one for EmpView, to allow Employees to be displayed under the root label "Employees" - but I cannot.
    The PageDefinition looks like:
    <tree id="RootLabelsViewObj1" IterBinding="RootLabelsViewObj1Iterator">
    <AttrNames>
    <Item Value="Rn"/>
    <Item Value="NodeLabel"/>
    </AttrNames>
    <nodeDefinition DefName="model.RootLabelsViewObj"
    id="RootLabelsViewObjNode">
    <AttrNames>
    <Item Value="NodeLabel"/>
    </AttrNames>
    <Accessors>
    <Item Value="DeptView"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="model.EmpView" id="EmpViewNode">
    <AttrNames>
    <Item Value="Ename"/>
    </AttrNames>
    </nodeDefinition>
    <nodeDefinition DefName="model.DeptView" id="DeptViewNode">
    <AttrNames>
    <Item Value="Deptno"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    Does anyone know:
    - whether it is possible (intended) to have more than one branch accessor per node (i.e. more than one type of child under a node in the tree)
    - if so, how this can be achieved?
    Right now it looks like I am limited to each node in the tree having only one type of child node.
    Please tell me I am wrong.
    best regards,
    Lucas

    Give this a shot mate
    event.getNativeEventTarget();That will allow you to access the DOM object directly
    Id can be retrieved via
    event.getNativeEventTarget().id;

  • Creation of object with sub-objects in ADF Faces

    I am trying to create an object that has associated sub-objects (header/detail) using ADF Faces. The user enters the header information in an ADF Form, then he creates detail data. Example: If the object is a PO, user creates the PO header info and, in an ADF table, he creates the PO lines.
    The problem is I am not able to figure how to bind the ADF table to the object that is being created. In a normal master-detail form, you drag the associated list from the Data Control palette and JDev automatically creates an accessor iterator that "feeds off" the master iterator. But, in this case, the associated list does not appear in the data control palette. Nor am I certain that is the right thing to do, anyway.
    Help! This seems like it would be a common pattern.
    Ara

    Sorry. Here is some more information:
    1. The project is for tracking duplication jobs requests.
    2. Data Model--DocumentTicket and JobDocument objects are EJB 3.0 JPA objects. DocumentTicket has a getter (getJobDocuments) to retrieve a List<JobDocument> of related job documents. JobTicketManager is the session bean that encapsulates most business methods.
    3. I am using ADF Faces bindings to "publish" the data model to the GUI.
    4. In the GUI, I dragged/dropped the DocumentTicket constructor from the data control palette to create the document ticket. This created the appropriate method action bindings, as well as the DocumentTicketIter iterator to iterate over the constructor result.
    5. Of course, the user also needs to specify the related job documents. In the GUI, I would like to have an ADF table that displays the current job documents, and a button labeled "Add Document" that is wired to a pop-up dialog. The idea is that the user clicks on the "Add Document" button, enters the information about the new JobDocument object. The object is then created and the table is updated with a new row. The table is also used to manipulate the list of job documents (chiefly, it allows the user to change their listed order).
    Step 5 is where I am having trouble. I can see how to create the pop-up dialog, how to wire it to the JobDocument constructor, how to update the data model. The problem is: I do not know to which object I should wire the JobDocument table. Logically, I should be able to wire it to the jobDocumentList property. However, that is not displayed in the data control palette under the constructor results (it is displayed elsewhere; for example, under the result of the findAllDocumentTickets method).
    I suppose I could create a separate finder method in the session bean, but then how do I connect it to the object being constructed (i.e., to the JobDocumentIter iterator)?
    Either I am missing something here or I am hitting some limitation of the ADF binding framework.
    Ara

  • An extra column of a query in an ADF Faces Table?

    Hi to all OTN Community...
    I use ADF Faces, Toplink and EJB 3.0 in JDevelooper 10.1.3.1.0, and i have a question...
    I need to show in an adf faces table, the result of a query like this
    SELECT COLUMN1, COLUMN2, COUNT(*)
    FROM TABLEX
    GROUP BY COLUMN1, COLUMN2
    I do this query in the TableX named queryes...and then i have acces to this named query in the dataControl, but, when i drag and drop the dataControl to a jsf page, this only shows the columns of the tableX. Then, i want to know, ¿How can i show the count(*) column in the page in a dataControl?
    PD: i want to show in the adf faces table the same result if i execute that query in an sql client.
    Thanx in advance...
    Darklorddany

    Darklorddany,
    The solution to this is to add an additional method on your EJB 3.0 session-bean that exposes an dynamic TopLink report (projection) query.
    The TopLink code within the method would leverage your existing TopLink mappings to do the query like:
            ReportQuery rq = new ReportQuery(Employee.class, new ExpressionBuilder());
            rq.addAttribute("firstName");
            rq.addAttribute("lastName");
            rq.addCount();
            rq.addGrouping("firstName");
            rq.addGrouping("lastName");
            List<ReportQueryResult> results = (List<ReportQueryResult>)session.executeQuery(rq);The ReportQueryResult objects are very generic map/row type containers that will not work well in your ADF binding layer. With JPA you can specify and ad-hoc Java class to contain such projection results that make them a little easier to use in clients. This functionality will be available in the next release of TopLink. Until then you will need to write some code to convert to your own result class for this query.
    In my case I'll create a simple POJO like:
        public class EmployeeNameCount {
            private String firstName;
            private String lastName;
            private int count;
            public EmployeeNameCount(String firstName, String lastName, int count) {
                this.firstName = firstName;
                this.lastName = lastName;
                this.count = count;
            public String getFirstName() {
                return this.firstName;
            public String getLastName() {
                return this.lastName;
            public int getCount() {
                return this.count;
        }Now I combine the previous report query code into an EJB 3.0 session bean method:
        @TransactionAttribute(TransactionAttributeType.SUPPORTS)
        public List<EmployeeNameCount> findEmployeeNamesWithCount() {
            Session session = getSessionFactory().acquireSession();
            ReportQuery rq = new ReportQuery(Employee.class, new ExpressionBuilder());
            rq.addAttribute("firstName");
            rq.addAttribute("lastName");
            rq.addCount();
            rq.addGrouping("firstName");
            rq.addGrouping("lastName");
            List<ReportQueryResult> results = (List<ReportQueryResult>)session.executeQuery(rq);
            session.release();
            List<EmployeeNameCount> empNameCounts = new ArrayList<EmployeeNameCount>(results.size());
            for (ReportQueryResult rqr: results) {
                String fname = (String)rqr.getByIndex(0);
                String lname = (String)rqr.getByIndex(1);
                int count = ((Number) rqr.getByIndex(2)).intValue();
                empNameCounts.add(new EmployeeNameCount(fname, lname, count));   
            return empNameCounts;
        }You will also need to make sure the method exists on your EJB 3.0 session bean's interface as well. Then regenerate the data control for your session bean and you should have access to drag and drop this query with its results into your JSF pages.
    As mentioned this use case will be much simpler and declarative in the next release.
    Doug

Maybe you are looking for

  • How do I transfer copied cds from one library to another?  I have tried using a jump drive but it doesnt seem to work

    A friend gave me her cds to copy so that she could put them on her itunes library and put them on her ipod.  she couldnt spare the time for me to do this directly to her computer as she needs it for work all the time and she travels a lot.  I copied

  • 7.6 Skype Crashing on Startup in Win 7 x64 bit

    I have not been able to launch Skype successfully in several days. the previous weekend, I applied multiple windows updates. I was running my computer when it suffered a crash event, and now whenever I open skype, the following log appears when it im

  • Characteristic wild card in report painter

    Dear experts.. I am developing a report painter for PS cost element report with structure CCSS. I want to create rows with dynamic characteristic and I am thinking of using wildcard in the characteristic variable. What I am trying to achieve is basic

  • Installing Application Server 10g (10.1.3) on Windows Server 2008 R2 64 bit

    installing Application Server 10g (10.1.3) on Windows Server 2008 R2 64 bit i have installed this but restarting of server making problem i m not able to start opmn.ctl what should i do is there any other version to be downloaded I did. 1. i installe

  • Problem in Accrual Entry Reversal

    HI, We have created an accural enter in F.81 in Jan, 2010 and not reversed till date. The reversal date mentioned in F.81 at that time was 01 Feb, 2010. Now if we try to reverse it using F.81, system is not allowing due to closed period. And if we po