Af:clientAttribute and af:selectManyCheckbox

Hi all,
Is there anyway that i can use af:clientAttribute inside af:selectManyCheckbox?
or
Something similar to it.
i just want to get value by using javascript eg. event.getSource().getProperty.
With Regards,
WP

I suppose so! Some near to this:
<af:selectManyCheckbox value="#{node.City}" id="ot1">
<af:clientListener method="onClickCheckbox" type="click"/>
<af:clientAttribute name="myAttribute" value="myValue"/>
</af:selectManyCheckbox >
Regards,

Similar Messages

  • Custom converter for selectManyCheckbox

    I am having the following problem/general question regarding custom converter and a selectManyCheckbox tag:
    The value property of the selectManyCheckbox tag is referring to a List of Transfer Objects (TO). For this example it is a UserRoleTo, which consists of role id and role description. A List of the SelectItems is used to generate a complete list of roles. Now, I want to convert selected role id�s to UserRoleTOs, and vice versa, but it does not seem to work. What should be the Object returned by getAsObject method: UserRoleTO or SelectItem?
    I would appreciate help and an example.

    This article might provide an interesting read: [http://balusc.blogspot.com/2007/09/objects-in-hselectonemenu.html]

  • How to get the command button component id  in bean class?

    Hi All,
    I'm using adf 11g.
    I'm having three command button , which have some similar code to use on fire of these buttons.
    if it possible to catch the component id in bean , i can use the code with little parameter passing .

    Hi,
    You can get the command button from the actionEvent (if you are writing a generic actionListener) and from it, you can get the Text of the command button. Using which, you can process accordingly.
    If the text also same, then set some client attribute for the command button (check out [url http://docs.oracle.com/cd/E21764_01/apirefs.1111/e12419/tagdoc/af_clientAttribute.html]af:clientAttribute), and from the actionListener, get the client attribute using getClientAttribute method and process accordingly.
    -Arun

  • Multiple row selection in ADF Table using addition column with checkbox

    I am using ADF table(Jdeveloper11g) and i want to selecte multiple rows it may be more than one OR all rows.
    For that i added one Column to the table with Header Delete and checkbox
    <af:table....
    <af:column sortProperty="Delete" headerText="Delete" width="100"
    sortable="false">
    <af:selectBooleanCheckbox label="#{row.favoriteId}"
    valueChangeListener="#{Mybean.onCheck}"
    id="checkbox" autoSubmit="true">
    </af:selectBooleanCheckbox>
    </af:column>
    </af:table>
    backing bean:Here i added code to get Value of one column with id favoriteId and use an arrayList(listForDelete) to monitor the state of the checkboxes
    public void onCheck(ValueChangeEvent valueChangeEvent) {
    BindingContainer bindings = getBindings();
    DCBindingContainer dcBindings =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding iterBind =
    (DCIteratorBinding)bindings.get("getUserFavoritesByUserIDIterator");
    if (iterBind != null && iterBind.getCurrentRow() != null) {
    RichSelectBooleanCheckbox ch = (RichSelectBooleanCheckbox)valueChangeEvent.getSource();
    if (!ch.isSelected()) {
    Long issueId = (Long)iterBind.getCurrentRow().getAttribute("favoriteId");
    listForDelete.add(issueId);
    else
    Long issueId = (Long)iterBind.getCurrentRow().getAttribute("favoriteId");
    listForDelete.remove(issueId);
    Problem is that when i select single row checkBox, onCheck() method of backing bean gets called multiple times(equals to the number of rows)
    I think this is beacuse of <af:selectBooleanCheckbox id is same that is "checkbox" but i am not sure.Even i tried to assign some unique id but no any success in assigning Id with value Expression.
    I also find related post
    Re: ADF Table Multiple row selection by Managed Bean
    but that is related to Select All rows or Deselect all rows from table.
    From the simillar post i follow the steps given by Frank.but problem with below step
    ->have an af:clientAttribute assigned to the checkbox with the following EL #{row.key} ,here I added <af:clientAttribute name="#{row.key}"></af:clientAttribute> and i am getting error
    Error(64,37):  Static attribute must be a String literal, its illegal to specify an expression.
    Please let me know if any one had already implemented same test case.
    Thanks for all help
    Jaydeep
    Edited by: JaydeepJ on Aug 7, 2009 4:42 AM

    just to update after the rollback is called in the cancel button i wrote following code which does not change the row focus to the first row
    DCBindingContainer bc =
    (DCBindingContainer)BindingUtils.getBindingContext().getCurrentBindingsEntry();
    DCIteratorBinding profItr =
    bc.findIteratorBinding("ProfileSearchInstIterator");
    Row cRow = profItr.getRowAtRangeIndex(0);
    if(cRow != null){
    System.out.println("Current row is not null so fixed ");
    profItr.setCurrentRowIndexInRange(0);
    RowKeySetImpl rks = new RowKeySetImpl();
    ArrayList keyList = new ArrayList();
    keyList.add(cRow.getKey());
    rks.add(keyList);
    profileTable.setSelectedRowKeys(rks);
    AdfFacesContext.getCurrentInstance().addPartialTarget(profileTable);
    }

  • SelectManyCheckbox and CSS formatting

    hi,
    im using the selectManyCheckbox component in my webapplication. i get the selectItems that you can select from my database. there are about 6 possible choices. my problem is that all checkbox-elements are displayed in a row next to each other. i want to display each checkbox in an own row. how can this be done? by a styleSheet? i'm new at using stylesheets, and i don't know how this could be done, so it would be nice to post an example css for formatting a checkbox. or can it be done by jsf itself? it would be nice from you to tell me.
    thx

    Use layout="lineDirection". It's an attribute on the selectManyCheckbox tag.
    No need for CSS in this particular solution.
    Please use the TLD docs to find out what attributes are available and what they do:
    http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/tlddocs/index.html
    CowKing

  • H:selectManyCheckbox and custom converter

    Hi there
    Firstly, I am trying to implement a custom converter to capture choices a user makes on a check box(es), i.e. if they uncheck one or more boxes I want to use the converter to save this information. I have applied this logic previously for a selectOneMenu based on BalusC's tutorial (very good by the way): http://balusc.blogspot.com/2007/09/objects-in-hselectonemenu.html. So, my first question is... Is this the correct way of doing this?
    Assuming that it is, this is the code I have implemented:
    Faces-config.xml
    <converter>
    <converter-id>CheckBoxStatusConverter</converter-id>
    <converter-class>examples.user.CheckBoxStatusConverter</converter-class>
    </converter>jsp file
    <h:form>
    <body>
    <h1>A horizontal line of check boxes!</h1>
    <%-- value="#{standardCheckBoxBeanStatus.colours}" --%>
    <h:selectManyCheckbox id="HStandardcheckbox" value="#{standardCheckBoxBeanStatus.status}">
    <f:selectItems value="#{standardCheckBoxBeanStatus.colour}" />
    <f:converter binding="CheckBoxStatusConverter" converterId="checkboxstatus" />
    </h:selectManyCheckbox>
    </body>
    </h:form>standardCheckBoxBeanStatus
    public class standardCheckBoxBeanStatus
    private List<SelectItem> Colour = new ArrayList<SelectItem>();
    private CheckBoxStatusBean Colours = new CheckBoxStatusBean();
    private String[] CheckBoxStatus = new String[7];
    private static CheckBoxStatusDAO CheckBoxcoloursDAO = new CheckBoxStatusDAO();
    private String selectedColour;
    private dbBean db;
    public standardCheckBoxBeanStatus()
    fillCColourItems();
    db = new dbBean("username","password");
    public List<SelectItem> getColour()
    return Colour;
    public String[] getStatus()
    String[] b = new String[7];
    for (int i = 0; i < 7; i++)
    b[i] = Colour.get(i).getValue().toString();
    return b;
    public void setStatus(String[] state)
    System.out.println("Status could be set to ");
    for (int i = 0; i < state.length; i++)
    System.out.println(state);
    public void setColours(CheckBoxStatusBean t)
    System.out.println("setColours called with "+t);
    Colours = t;
    public String Action()
    System.out.println("Action called!");
    return "ValuesUpdated";
    private void fillCColourItems()
    int i = 0;
    for (CheckBoxStatusBean tK : CheckBoxcoloursDAO.list())
    System.out.println("Colour adding "+tK+", "+tK.getValue());
    Colour.add(new SelectItem(tK, tK.getValue()));
    CheckBoxStatus[i] = tK.getKey();
    i++;
    ChechBoxStatusConverter:public class CheckBoxStatusConverter implements Converter
    private static CheckBoxStatusDAO CheckBoxStatusDAO = new CheckBoxStatusDAO();
    public String getAsString(FacesContext f, UIComponent c, Object o)
    System.out.println("In converter getAsString method");
    String ret = "";
    if ((o != null) && (o instanceof CheckBoxStatusBean) )
    ret = ((CheckBoxStatusBean)o).getKey();
    return ret;
    public Object getAsObject(FacesContext f, UIComponent c, String s)
    System.out.println("In converter getAsObject method");
    return CheckBoxStatusDAO.find(s);
    CheckBoxStatusDAOpublic class CheckBoxStatusDAO
    private static ArrayList<SelectItem> checkBoxColours = new ArrayList<SelectItem>();
    private static Map<String, CheckBoxStatusBean> CheckBoxRecordsMap;
    private static dbBean db = new dbBean("tagcloud","tagcloud");
    static
    setupcheckBoxColours();
    loadKRecordsMap();
    public CheckBoxStatusDAO()
    public CheckBoxStatusDAO(ArrayList<SelectItem> t)
    this.checkBoxColours = t;
    public CheckBoxStatusBean find(String key)
    return CheckBoxRecordsMap.get(key);
    public List<CheckBoxStatusBean> list()
    return new ArrayList<CheckBoxStatusBean>(CheckBoxRecordsMap.values());
    public Map<String, CheckBoxStatusBean> map()
    return CheckBoxRecordsMap;
    private static void loadKRecordsMap()
    checkBoxColours = db.getAllColoursStatus();
    CheckBoxRecordsMap = new LinkedHashMap<String, CheckBoxStatusBean>();
    for (int i = 0; i < checkBoxColours.size(); i++)
    System.out.println("CheckBoxRecordsMap contains: "+checkBoxColours.get(i).getValue()+", "+checkBoxColours.get(i).getLabel());
    CheckBoxRecordsMap.put(String.valueOf(i), new CheckBoxStatusBean((String)checkBoxColours.get(i).getValue(), (String)checkBoxColours.get(i).getLabel()));
    System.out.println("Complete, RecordsMap is "+CheckBoxRecordsMap.size()+" in size");
    So I add the line: <f:converter binding="CheckBoxStatusConverter" converterId="checkboxstatus" /> to my jsp file I get the error mesage:{noformat}java.lang.IllegalArgumentException: Cannot convert CheckBoxStatusConverter of type class java.lang.String to interface javax.faces.convert.Converter{noformat}However, without that line I get a nice line of check boxes.
    Could you advise. I have been struggling on this all day. I am not even sure this is the correct approach any more?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Obviously you bind the converter to a litteral string !!
    <f:selectItems value="#{standardCheckBoxBeanStatus.colour}" />
    <f:converter binding="CheckBoxStatusConverter" <!-- use an EL here not a simple string-->
    converterId="checkboxstatus" />
    </h:selectManyCheckbox>Are you sure that f:converter had a binding attribute ?

  • How to get selected values from selectManyCheckbox ?

    Hi,
    I am a SOA developer and using 'Auto generated adf form' of Human Task. I did some customization in the form. I need to show one dynamic list (contains multiple string values) on a form, from which user will select desired values. For this I have used <af:selectManyCheckbox> adf component.
    It has generated code as follows...
    <af:selectManyCheckbox value="#{bindings.Response.inputValue}"
                                             label="#{bindings.Response.label}"
                                             id="smc1">
                        <f:selectItems value="#{bindings.Response.items}" id="si9"/>
    </af:selectManyCheckbox>
    I am able to show list on a form and can select multiple values also.
    Now, I want the multiple selected values back in my BPEL process. I need only those values which are selected by user.
    Currently I am getting complete list as it is back in BPEL process.
    Please help me out..!
    Thanks..
    Suraj

    Unwinding ADF: How to retrieve Selected Items from selectManyCheckbox using ValueChnageListener

  • How to get selected values from af:selectManyCheckbox

    Hi i am using jdeveloper 11.1.2 and i drag n drop a view object as Multiple select (<af:selectManyCheckbox) component and now i am trying to get the checked values in backing bean so that i can save in the database.
    Right now i am getting all the values but not the selected values.
    JSPX Page.
    <af:selectManyCheckbox value="#{bindings.HREmpDetailsVO1.inputValue}"
    label="EMPLOYEES"
    binding="#{backingBeanScope.backing_TestForm.smc1}"
    id="smc1">
    <f:selectItems value="#{bindings.HREmpDetailsVO1.items}"
    binding="#{backingBeanScope.backing_TestForm.si1}"
    id="si1"/>
    </af:selectManyCheckbox>
    Bean Class:
    public List getSelectedValues() {
    if (selectedValues == null || refreshSelectedList) {
    selectedValues =
    attributeListForIterator(selectedValuesIteratorName,
    selectedValuesValueAttrName);
    return selectedValues;
    public static List attributeListForIterator(DCIteratorBinding iter,
    String valueAttrName) {
    List attributeList = new ArrayList();
    for (Row r : iter.getAllRowsInRange()) {
    attributeList.add(r.getAttribute(valueAttrName));
    return attributeList;
    Can some one pls help me in getting the values with sample code.
    Thanks in advance

    Thank you so much for your help. But i am getting null values in the SOP. I could get count of selected values but not the values.

  • Please, How do i get the values from a h:selectManyCheckbox ?

    How do i get the values (selected or not) of a <h:selectManyCheckbox> tag and show them .For instance
    i have the folowing options :
    <h:selectManyCheckbox
                           id="cartas"
                       layout="pageDirection"
                        value="#{store.cartas}">
          <f:selectItems
                        value="#{cartas}"/>
        </h:selectManyCheckbox>
        <h:message styleClass="validationMessage" for="newsletters"/>with my faces-config.xml:
    <managed-bean>
        <description></description>
        <managed-bean-name>cartas</managed-bean-name>
        <managed-bean-class>java.util.ArrayList</managed-bean-class>
        <managed-bean-scope>application</managed-bean-scope>
        <list-entries>
          <value-class>javax.faces.model.SelectItem</value-class>
          <value>#{cartas0}</value>
          <value>#{cartas1}</value>
          <value>#{cartas2}</value>
          <value>#{cartas3}</value>
        </list-entries>
      </managed-bean>
      <managed-bean>
        <managed-bean-name>cartas0</managed-bean-name>
        <managed-bean-class>javax.faces.model.SelectItem</managed-bean-class>
        <managed-bean-scope>none</managed-bean-scope>
        <managed-property>
          <property-name>label</property-name>
          <value>Semanal</value>
        </managed-property>
        <managed-property>
          <property-name>value</property-name>
          <value>200</value>
        </managed-property>
      </managed-bean>
      <managed-bean>
        <managed-bean-name>cartas1</managed-bean-name>
        <managed-bean-class>javax.faces.model.SelectItem</managed-bean-class>
        <managed-bean-scope>none</managed-bean-scope>
        <managed-property>
          <property-name>label</property-name>
          <value>As bruxas</value>
        </managed-property>
        <managed-property>
          <property-name>value</property-name>
          <value>201</value>
        </managed-property>
      </managed-bean>
      <managed-bean>
        <managed-bean-name>cartas2</managed-bean-name>
        <managed-bean-class>javax.faces.model.SelectItem</managed-bean-class>
        <managed-bean-scope>none</managed-bean-scope>
        <managed-property>
          <property-name>label</property-name>
          <value>Exercise</value>
        </managed-property>
        <managed-property>
          <property-name>value</property-name>
          <value>202</value>
        </managed-property>
      </managed-bean>
      <managed-bean>
        <managed-bean-name>cartas3</managed-bean-name>
        <managed-bean-class>javax.faces.model.SelectItem</managed-bean-class>
        <managed-bean-scope>none</managed-bean-scope>
        <managed-property>
          <property-name>label</property-name>
          <value>Gusman Park</value>
        </managed-property>
        <managed-property>
          <property-name>value</property-name>
          <value>203</value>
        </managed-property>
      </managed-bean>Thanks for the atention!! All the best!!

    Hi,
    In your backing bean you will need to add a new variable to bind your control to, I think this variable needs to be of teh "HtmlSelectManyCheckbox" type. The on your jsp page you can add binding="#{myBean.myVariable}".
    When you want to get the values of the selectMany in your backing bean, you can call the getSelectedValues() function on your HtmlSelectManyCheckbox variable.
    in backing bean:
    private HtmlSelectManyCheckbox hsmc;
    public HtmlSelectManyCheckbox getHsmc(){
        return hsmc;
    public void setHsmc(HtmlSelectManyCheckbox hsmc){
        this.hsmc = hsmc;
    public void someFunction(){
       Object[] obs = hsmc.getSelectedValues();
    }On jsp page:
    <h:selectManyCheckbox
                           id="cartas"
                       layout="pageDirection"
                        value="#{store.cartas}"
                         binding="#(myBean.hsmc}">
          <f:selectItems
                        value="#{cartas}"/>
        </h:selectManyCheckbox>

  • How to get the values of a selectManyCheckBox when that is in h:dataTable

    Hello,
    I have a jsp page. in that user can choose multile checkboxes and these checkboxes labled as Current, Mailing, PosibleMailing, length is 3 fixed.
    And i am displaying this in a <h:dataTable> this datatable length depends upon the users there may be more than 1 user, for every user there is multiplecheckbox with length 3(fixed).
    code is look like this
    <h:dataTable value="#{InvestigationDefendantView.investDefsFindingsModel}" var="def" border="0" >
    <h:column>
    <h:selectManyCheckbox value="#{InvestigationDefendantView.addtype1}" disabled="false">
    <f:selectItem itemValue="Current" itemLabel="Current"/>
    <f:selectItem itemValue="Mailing" itemLabel="Mailing"/>
    <f:selectItem itemValue="Posible" itemLabel="Posible"/>
    <j4j:idProxy id="DefAddTypeProxy"/>
    </h:selectManyCheckbox>
    </h:column>
    </h:dataTable>
    here abovevalue="#{InvestigationDefendantView.investDefsFindingsModel}" suppose 3(we can assume) then there are 3 pairs of selectManyCheckBoxes are there in my jsp page.
    So u can assume in my jsp page checkboxes are look like 3*3 Matrix
    from my backing bean i am fetching the values of this checkboxes with the below code
    java code:
    InvestDefAddressTypeGetter inv = new InvestDefAddressTypeGetter();
    InvestDefAddressTypeBean[] inb = inv.get(pID);
    this.fMap = new HashMap<String, ArrayList<String>>();
    for(int i=0; i<inb.length; i++)
    String str1 = inb.getGivenDefID().toString();
    this.fdefid.add(str1);
    this.fGivenDefID.add(inb[i].getGivenDefID());
    String addType = inb[i].getAddType();
    Logger.info(this, "adding type value", addType);
    this.fdefid.add(str1);
    this.faddType.add(addType);
    Logger.info(this, "length of strings", this.faddType);
    this.fMap.put(str1, this.faddType);
    i am fetching the checkboxes value through my get method
    public String[] getAddtype1() throws SQLException, SearchException
    Logger.info(this, "addtype testing", this.faddType.size());
    if (this.faddType.size() > 0 )
    ArrayList<String> alcb = new ArrayList<String>();
    for (int i = 0; i < this.faddType.size(); i++)
    alcb.add(this.faddType.get(i));
    String[] tempArr = new String[alcb.size()];
    for (int i = 0; i < alcb.size(); i++)
    tempArr[i] = alcb.get(i).intern();
    return tempArr;
    return new String[0];
    from the above code if i have clicked (you can assume 3*3 matrix here) 1*1, 1*2 and 2*1 and 2*2and saving the value in database records are saved as per requirement but when i am editing the records with the above code i am getting 1*1, 1*2 and 2*1, 2*2 and 3*1, 3*2 checked but i did not checked the 3*1 and 3*2 ckeck boxes.
    Because the same get method will be called in the multipleckeck boxes. how can i prevent does not display the unchecked value from my backing bean.
    Please anybody help me in this issue.

    Is this you? [http://forums.sun.com/thread.jspa?threadID=5335038].

  • Problem with binding of a selectManyCheckbox inside a dataTable

    Hi,
    first i want to point out that my english is not the best. :)
    A german version is followed at the end of the english text.
    I have a class "MyClass" with few attributes like:
    private long id;
    private String text;
    private Set<MyClass2> childs;
    An a second class "MyClass2" wich also have some attributes:
    private long id;
    private String text;
    Now i have a List with lots of objects from typ "MyClass":
    List myList = new ArrayList();
    // Sample Data!!
    for (int i=0; i<100; i++)
    MyClass1 m1 = new MyClass1();
    m1.setId(i);
    m1.setText("MyClass1 Line " + i);
    // Now add some "childs":
    for (int j=0; j<i*2; j++)
    MyClass2 m2 = new MyClass2();
    m2.setId( i );
    m2.setText("Sample "+ i);
    m1.getChilds().add(m2);
    myList.add ( m1 );
    So now i want to show the ID and text every Object of MyClass1 on my "test.jsp" (width JSF Tags).
    The Collections inside this class should display as checkboxes (value = id, label = text).
    Sample:
    ID: +1+ TEXT: MyClass1 Line 1
    CHECKBOXES:
    [x] Sample 0
    [x] Sample 1
    ID: +2+ TEXT: MyClass1 Line 2
    CHECKBOXES:
    [x] Sample 0
    [x] Sample 1
    [x] Sample 2
    [x] Sample 3
    Okay i think you know what i mean. ;-)
    I tryed it also with a dataTable to iterate in "myList" and use a selectOneMenu with selectItems to generate the checkboxes.
    Here is the code:
    <h:dataTable value="#{myBean.myList}" var="rowInstance" binding="#{myBean.dataTable}" id="dataTable">
    <h:column>
    <h:outputText value="ID: #{rowInstance.id}" />
    <h:outputText value="TEXT: #{rowInstance.text}" />
    </h:column>
    <h:column>
    <h:selectManyCheckbox id="cbox" styleClass="checkbox">
    <f:selectItems value="#{myBean.childs}"/>
    </h:selectManyCheckbox>
    </h:column>
    </h:dataTable>
    Maybe you see the that i've used childs in the selectItems.
    This is a methode like that:
    public SelectItem[] getChilds()
    MyClass1 mc1 = (MyClass1) dataTable.getRowData();
    // now i iterate the childs and make for each a SelectItem()
    Also you maybe see that i have no binding on selectManyCheckbox, because i have no idea how it works. :-)
    I've tried to bind it to a String[] but and the end this String[] always contain the last low.
    My Question is now:
    When the user pressed the submit Button how can i figure out which Checkboxen the user clicked ?
    Thank you a lot.
    Now the german version (surley better explained):
    Hallo nochmal,
    ich habe versucht auf englisch mein Problem zu schildern.
    Was mit sicherheit nicht zu 100% gelungen ist, deshalb hier noch mal eine deutschsprachige Version (maybe some germans out there).
    Wie oben abgeblidet habe ich im Prinzip zwei Klassen.
    Die erste Klasse "MyClass1" hat eine Collection die Objekte von der Klasse "MyClass2" enth�lt.
    Nun m�chte ich auf meiner JSP Seite die JSF Tags benutzt eine Liste von Objekten (die vom Typ "MyClass1" sind) abbilden.
    Die Collection innerhalb dieser Klasse soll als Checkboxen dargestellt werden.
    Ich habe es ohne gro�e Probleme hinbekommen, dass er das so anzeigt wie ich das m�chte.
    Nur habe ich z.Z. noch Probleme damit wie ich sp�ter herausfinde, welche der Checkboxen denn nun angew�hlt sind.
    Normalerweise w�rde man ja ein binding machen, so k�nnte man alle ausgew�hlten Checkboxen (getSelectedValues()) ja bekommen.
    Da aber die Anzahl der Objekte immer unterschiedlich ist kann ich nicht die entsprechenden Variablen anlegen.
    Deshalb die Frage: Wie bekomme ich mit welche der Checkboxen ausgew�hlt wurden? Wie muss das binding aussehen?
    Vielen Dank.
    Greetings from Germany. :)

    Just bind it to the row object.
    JSF<h:dataTable value="#{myBean.myDataList}" var="myData">
        <h:column>
            <h:selectManyCheckbox value="#{myData.selectedItems}">
                <f:selectItems value="#{myData.selectItems}" />
            </h:selectManyCheckbox>
        </h:column>
    </h:dataTable>MyDataprivate List<String> selectedItems; // + getter + setter
    private List<SelectItem> selectItems; // + getter

  • How to populate default values for SelectManyCheckBox?

    I have this <af:selectManyCheckbox> , which I want to set default value, or later other taskflow will change it's value:
    <af:selectManyCheckbox id="smc4"
    layout="vertical"
    valueChangeListener="#{backingBeanScope.productGroupSelectionBackingBean.lendingSelectionDeselectionListener}"
    autoSubmit="true"
    valuePassThru="true"
    value="#{pageFlowScope.productGroupSelectionHelper.newLendingProduct}">
    <f:selectItems id="si4" value="#{bindings.id.items}"/>
    </af:selectManyCheckbox>
    the selectItems is binding to a list of VO, in which only IDs and label names are saved,both are of type String.
    the newLendingProduct is of type List<SelectItem>.
    During the debugging I found that instead of returning List<SelectItem>, the af:selectManyCheckbox is returning Arrays$ArrayList<object> to me. What is Arrays$ArrayList<object>? After looking into it's value, I found it has an attribute "a", which is an array of String, storing the IDs that are selected.
    I also tried list of string and array of string for newLendingProduct, both can get the return value from page, but cannot set the screen.
    I think I shouldn't use List<SelectItem> to store value of af:selectManyCheckbox, but what should I use?

    U can bind ur value property of af:selectManyCheckbox to ArrayList<String> object
    Step 1.Add property in ur backing bean ArrayList<String> selectedValue = new ArrayList<String>();
    Step 2.Create get and set method for selectedValue
    Step 3. bind this selectedValue to value property ( value="#{backingBeanScope.beanName.selectedValue}" )
    Thanks
    Dinil Mithra V S

  • How to set different color for items in selectManyCheckbox

    hi,
    I would like to change item text background color for each item on selectManyCheckbox (different for each item).
    It is only 5 items so that could be static reference or select.
    I know only how to change background for all items
    af|selectManyCheckbox::item-text {
        background:orange;
    How to select concrete item text and change color for only them?
    I found similar problem:
    css - Set background color of every individual checkbox of p:selectManyCheckbox - Stack Overflow
    but this dont work for me because I dont have in adf tr structure
    I need somethink like this:
    af|selectManyCheckbox::item-text XXXX - select here one of the item by number on list or id  {
        background:orange;

    hi,
    thanks Alejandro and Federico for answers.
    I use JDev 11.1.1.6. I dont write it in previously post because I think that is a more css then adf problem.
    I have 5 selectItem based on simple List<String> {"text1", "text2", "text3", "text4". "text5"}:
    <af:selectManyCheckbox label="List" id="smc2"
                                               layout="horizontal"
                                               value="#{bean.listInBean}"
                                               autoSubmit="true">
                          <af:selectItem label="text1" value="text1" id="si47"/>
                          <af:selectItem label="text2" value="text2" id="si43"/>
                          <af:selectItem label="text3" value="text3" id="si46"/>
                          <af:selectItem label="text4" value="text4" id="si45"/>
                          <af:selectItem label="text5" value="text5" id="si44"/>
                        </af:selectManyCheckbox>
    and I would like to color first selectItem text to orange, second to red.. etc, The list is a static list. Not would be changed.
    After Alejandro answer I build simple for each element (anyCollection contains item with two fields: textValue and label {(text1,text1), (text2,text2)...}
      <af:forEach items="#{bean.anyCollection}"
                                      var="item">
                            <af:selectItem id="si48" value="#{item.textValue}"  styleClass="yourClassName#{var.index}"
                                           label="#{item.label}"/>
                          </af:forEach>
    And now if I have my var called "item" I can write 5 css style classe yourClassName#{var.index} with different color, but there is a problem:
    Attribute styleClass is not defined for af:selectItem
    If it will be so simple I will just add 5 style classes for each selectItem
    <af:selectItem label="text1" value="text1" id="si47" styleClass="yourClassName0"/>
    <af:selectItem label="text2" value="text2" id="si43" styleClass="yourClassName1"/>
    Should I use other component then adf facer rich?

  • BPM 11G comments and file attachments issue on human tasks

    Hi all,
    We have used JDeveloper 11G and SOA suite 11G + BPM (with PS1,PS2) to create and deploy a simple BPM process. The process consists of two swim-lanes ( Business Analyst and Snr Executive). The BA swim-lane has a human task which which initiates the process and the second swim-lane (SE) has a voting task. Both forms were auto generated.
    ------ Process steps ----
    step 1. The initiator of the process( Business analyst) submits a document and adds comments on the form. (1st swim lane)
    step 2. The task is received by the Snr Executive group and they need to accept or reject the document.
    step 3. If any of the Snr Execs rejects the document, the process flow goes back to the Business analyst(the requester or initiator) for review.
    (the voting group is able to share comments and the file attachments).
    step 4. The business analyst receives a task on her list. This task list should have the comments made by the Snr Execs who rejected the document. ---This is where we are having a problem. The business Analyst, receives the task, but the document and comments are not updated. This still shows the original document and comments, she sent when initiating the process.
    We have opened a SR with My Oracle support and it was suggested we apply a hot fix 9958661, which was done (see output below). Unfortunately this did not solve the problem.
    Questions:
    1. Is the default behavior of BPM 11G ?
    2. How can we change this behavior to do what we want ?
    ---------------------------------------opatch update output -----------------------------------------------------------
    ApplySession adding interim patch '9958661' to inventory
    Verifying the update...
    Inventory check OK: Patch ID 9958661 is registered in Oracle Home inventory with proper meta-data.
    Files check OK: Files from Patch ID 9958661 are present in Oracle Home.
    The local system has been patched and can be restarted
    I any suggestions would be welcome.
    Thanks
    Mocheche

    Ok, this is what i did:
    - I have a Process Data Object called CustomComments with just 1 attribute called comments.
    - I have added that object to my user screens (adf page)
    - Changed its columns att to 65 and rows to 8 (i chose that layout)
    - Used a tableLayout to add an icon next to this text area to allow the user to add comments:
    <af:commandImageLink shortDesc="addCommentImage" id="addCommentImage" partialSubmit="true" icon="/hw_images/new_ena.png">
         <af:clientListener method="myFunction" type="click"/>
         <af:clientAttribute name="attributeName" value="attributeValue"/>
    </af:commandImageLink>
    I use that clientAttribute to send the logged user to the javascipt.
    - I added this after the af:document on top of the page to make the customComments readonly to the user (you need to do it here because if you set it in the properties the element is not updated later), so the user has to use the button i put to add comments:
    <f:facet name="metaContainer">
         <f:facet name="metaContainer">
         <af:resource type="javascript">
              function readOnly(){
                   var comms = document.getElementById("it1::content");
                   comms.setAttribute("readOnly","true")
         </af:resource>
    </f:facet>
    <af:clientListener method="readOnly" type="load"/>
    - Somewhere i added the javascript the commandLink calls:
    <trh:script id="myScripts">
         function addComment(evt){
              var commentArea = document.getElementById("it1::content");
    var user = evt.getSource().getProperty("user");
    var comm = prompt("Please enter your comment: ","");
              if (comm != null) {
                   if (comm != ""){
                        if (commentArea.value !=""){commentArea.value = commentArea.value + "\n"}
                        commentArea.value = commentArea.value + "user.value" + " : " + comm;
    </trh:script>
    After all this, you have an object that carries the comments from one screen (UI project) to another and is updated each time.
    I know it may not be the perfect solution and that it could be improved a lot, but so far it does what i need so i use it.
    If there is anything i wasnt clear enough, please let me know. Hope this helps.

  • When i click on edit link a popup has to open and i have to show the inform

    Hi all,
    i have an arraylist with instances of Sectionbean.java class.
    I created a panelgroup layout to display all the variable inside Sectionbean.java class. and a link called "edit".
    i kept this panelgrouplayout as a child for iterator .
    out put is like this
    1 aaaa abc edit
    2 bbb abc edit
    3 ccc abc edit
    I am getting all the values and rendering in the ui properly like above.
    here when i click on edit link a popup has to open and i have to show the information related to the selected edit link in that row.
    can anyone give me suggistion that how to sove this .

    in the command link.. create a clientAttribute settign the value.. and use it in the popup using the source
    <af:commandLink id="cl2">
    <af:outputText value="#{row.Title}"
    id="outputText1"/>
    <af:clientAttribute name="title"
    value="#{row.Title}"/>
    <af:showPopupBehavior popupId="::p1"/>
    </af:commandLink>
    <af:popup id="p1" contentDelivery="lazyUncached" eventContext="launcher"
    launcherVar="source">
    <af:dialog id="d1" type="ok" title="Popup" contentWidth="300"
    contentHeight="200">
    <af:panelGroupLayout id="pgl4" layout="vertical">
    </af:panelGroupLayout>
    </af:dialog>
    <af:setPropertyListener from="#{source.attributes.Title}"
    to="#{pageFlowScope.Bean.contentId}"
    type="popupFetch"/>
    </af:popup>
    here the client attribute is set with the row.Title and later in the popup we are fetching the same using.. source.attributes.Title

Maybe you are looking for