Selected on h:commandButton

Hi,
I've a h:commandButton and on action I'm invoking an xhtml page.Once I click on the command Button I would like to set the commandButton as selected and once I click on the other commandButton the first should deactivate and the second commandButtion should be deactivated.
Any body have sample example on how to implement this.
Thanks,
Anil

What do you mean by "set the commandButton as selected" ?
Do you want to disable/enable command buttons to avoid re-submission or multiple clicks?

Similar Messages

  • How can I receive the value of a selected item in the backing bean

    I have a table in a jspx file.
    When I go to the detail page I want to do something with the value of the currentrow.
    I want do a calculaction of the value of ClbId.
    How can I receive the value of the selected ClbId in my backing bean
    <af:table value="#{bindings.Searchteamlist.collectionModel}"
    var="row" rows="#{bindings.Searchteamlist.rangeSize}"
    first="#{bindings.Searchteamlist.rangeStart}"
    emptyText="#{bindings.Searchteamlist.viewable ? 'No rows yet.' : 'Access Denied.'}"
    selectionState="#{bindings.Searchteamlist.collectionModel.selectedRow}"
    selectionListener="#{bindings.Searchteamlist.collectionModel.makeCurrent}"
    rendered="#{backing_FirstFlag_Club_Club.searchFirstTimeClub_Club_AdresAndereClubs == false}">
    <af:column sortProperty="Matricule" sortable="true"
    headerText="#{bindings.Searchteamlist.labels.Matricule}">
    <af:outputText value="#{row.Matricule}"/>
    </af:column>
    <af:column sortProperty="ClbId" sortable="true"
    headerText="#{bindings.Searchteamlist.labels.ClbId}">
    <af:outputText value="#{row.ClbId}">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.Searchteamlist.formats.ClbId}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="Nom" sortable="true"
    headerText="#{bindings.Searchteamlist.labels.Nom}">
    <af:outputText value="#{row.Nom}"/>
    </af:column>
    <f:facet name="selection">
    <af:tableSelectOne text="Select and">
    <af:commandButton text="Submit"
    action="club_AdresAndereClubsDetail">
    <af:setActionListener from="#{row}"
    to="#{processScope.row}"/>
    </af:commandButton>
    </af:tableSelectOne>
    </f:facet>
    </af:table>

    hi tde
    Using an Expression Language helper class like this one from Steve Muench ...
    http://radio.weblogs.com/0118231/stories/2006/12/18/sourceForMyFavoriteElHelperClass.html
    ... you could write something like this in your backing bean:
    Integer vClbId = (Integer)EL.get("#{row.ClbId}");(Make sure to cast it to the correct type.)
    success
    Jan Vervecken

  • JDev 10 - disable command button depending on which row is selected

    I am using JDeveloper 10, and I have a table which has some data columns and a selection facet with View and Edit command buttons.
    I would like all rows to be viewable. When you click the view event it goes to another .jsp with the view action.
    It does the same thing with the edit action, however I would like to only allow rows which have an EffectiveDate column in the future to be editable.
    Is there some way to disable the edit button when those rows are selected, or to throw a validation error when the edit button is clicked for that row?
    Thanks!
    Jeff
              <af:table value="#{bindings.RateList.collectionModel}" var="row"
                          rows="#{bindings.RateList.rangeSize}"
                          first="#{bindings.RateList.rangeStart}"
                          emptyText="#{bindings.RateList.viewable ? 'No rows yet.' : 'Access Denied.'}"
                          selectionListener="#{bindings.RateList.collectionModel.makeCurrent}"
                          selectionState="#{bindings.RateList.collectionModel.selectedRow}">
                  <af:column sortProperty="RateType" sortable="false"
                             headerText="#{bindings.RateList.labels.RateType}">
                    <af:outputText value="#{row.RateDescription}"/>
                  </af:column>
                  <af:column sortProperty="EffectiveDate" sortable="false"
                             headerText="#{bindings.RateList.labels.EffectiveDate}">
                    <af:outputText value="#{row.EffectiveDate}">
                      <f:convertDateTime pattern="dd-MMM-yyyy"/>
                    </af:outputText>
                  </af:column>
                  <f:facet name="selection">
                    <af:tableSelectOne text="Select and">
                      <af:commandButton text="View" action="view">
                        <af:setActionListener from="#{row.rowKeyStr}"
                                              to="#{requestScope.requestRowKey}"/>
                      </af:commandButton>
                      <af:commandButton text="Edit"
                                        action="edit"/>
                    </af:tableSelectOne>
                  </f:facet>
                </af:table>

    So, I first tried using Chan advice, I added a new editable property from the database and then added Edit buttons to each row in the table with disabled property set to the editable property.
    This correctly displayed buttons which were editable in the correct rows.
    However, I was no longer using the select functionality which passed the rowId of the selected row to the edit page.
    I wasn't able to quickly solve this problem so I tried John's solution.
    I feel really dumb, but after about 20 rereadings it was still completely Greek to me, I have no idea what he was recommending.
    So I added onclick="return editTest()" to the Edit button.
    The I added ID to the relevant locations, and the following javascript to the page, and this is working well enough now.
    (Oh, I display the date in a slightly odd dd-MMM-yyyy format, due to slightly odd customer requirements.)
    I've probably misspelled one of the months, haven't yet finished testing.
    A couple of gotchas I found
    - Do not add onclick="editTest()" or else it will continue processing and allow all rows to be edited.
    - Putting date = document.getElementById('mainFormId:tableId:'+i+':EffectiveDateId'); would work for the original search,
    but after filtering results i and found_it are not equivalent, and date was not found in the page.
               function editTest(){
                  var found_it;
                  var date;
                  for (var i=0; i < document.getElementsByName('mainFormId:tableId:selected').length; i++)  {
                     if (document.getElementsByName('mainFormId:tableId:selected').checked) {               
    found_it = document.getElementsByName('mainFormId:tableId:selected')[i].value;
    date = document.getElementById('mainFormId:tableId:'+found_it+':EffectiveDateId');
    var result = date.innerHTML.split("-");
    var day = result[0];
    if (day.charAt(0) == '0'){
    day = day.charAt(1);
    var month;
    var monthTxt = result[1];
    switch (monthTxt) {
    case 'Jan':
    month=0;
    break;
    case 'Feb':
    month=1;
    break;
    case 'Mar':
    month=2;
    break;
    case 'Apr':
    month=3;
    break;
    case 'May':
    month=4;
    break;
    case 'Jun':
    month=5;
    break;
    case 'Jul':
    month=6;
    break;
    case 'Aug':
    month=7;
    break;
    case 'Sep':
    month=8;
    break;
    case 'Oct':
    month=9;
    break;
    case 'Nov':
    month=10;
    break;
    case 'Dec':
    month=11;
    break;
    default:
    month=11;
    break;
    var year = result[2];
    var today = new Date();
    var effDate = new Date();
    effDate.setDate(day);
    effDate.setMonth(month);
    effDate.setYear(year);
    if (effDate < today) {
    alert ('Sorry, you cannot change a rate with an effective date in the past');
    return false;
    } else {
    return true;

  • The Popup dialog Page needs two times to return the selected value[10.1.3]

    Hi All,
    I have problem in an JSF Application that uses the EMP and DEPT tables .
    the Application contains two pages
    page 1 : a calling page uses EmpView as ADF Table .
    page 2 : a popup List of Values (LOV) dialog page uses DeptView
    These cause the popup dialog page to return to the calling page and to set the selected value into the Deptno attribute .
    the calling page includes :deptno and dname columns as
    <af:column headerText="#{bindings.EmpView1.labels.Deptno}">
    <af:selectInputText value="#{row.Deptno}"
    required="#{bindings.EmpView1.attrDefs.Deptno.mandatory}"
    columns="#{bindings.EmpView1.attrHints.Deptno.displayWidth}"
    action="dialog:ChooseDept1" id="deptnoField"
    autoSubmit="true">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.EmpView1.formats.Deptno}"/>
    </af:selectInputText>
    </af:column>
    <af:column headerText="#{bindings.EmpView1.labels.Dname}">
    <af:inputText value="#{row.Dname}" simple="true"
    required="#{bindings.EmpView1.attrDefs.Dname.mandatory}"
    columns="#{bindings.EmpView1.attrHints.Dname.displayWidth}"
    partialTriggers="deptnoField" autoSubmit="true"/>
    </af:column>
    and popup dialog page includes : Submit Button to return selected value to calling page :-
    <af:tableSelectOne text="Select and">
    <af:commandButton text="Submit">
    <af:returnActionListener value="#{row.Deptno}"/>
    <af:setActionListener from="#{row.Deptno}"
    to="#{bindings.Deptno.inputValue}"/>
    </af:commandButton>
    </af:tableSelectOne>
    the problem is
    I have to press ( two times ) the select button in the calling page to
    return the selected value into the Dname attribute .
    best regards,

    Hi,
    However, I am using the Jdeveloper 10.1.3.3, but still getting this error. I could not find any threads related to this problem and hence I wrote up here. Anyway I have also logged an SR #7179012.993 for the same with the testcase. I hope the issue will be resolved soon.
    Thanks,
    Neeraj

  • BUG: ADF BC read-only VO with no Key attrs + af:table

    Hello all,
    I've got a bug to report - quite easily reproducable with the HR demo schema. To see it:
    1). Create a new application from the ADF BC + Faces template
    2). Create a read-only VO, use "SELECT employee_id, first_name from employees" and order by "employee_id" - take the defaults for everything - do not set any key attributes.
    3). Create an AM, add the VO to it's data model. Turn off AM pooling in the configuration.
    4). Create a JSPX page. Drag-drop the VO from the data control palette as an ADF read-only table - with selection
    5). Bind the actionlistener of the "submit" button to a backing bean method that just system.out.println's something.
    Now, run the app. Try selecting an employee from the first page (records 1-10) and clicking submit - it works. Now, scroll to the second set of records, select one and click submit - no message appears - the action listener is never called. No errors are thrown.
    Workaround: ensure the VO has employee_id selected as a key attribute.
    My code is at the bottom for reference.
    Cheers,
    John
    untitled1.jspx:
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:af="http://xmlns.oracle.com/adf/faces"
              xmlns:afh="http://xmlns.oracle.com/adf/faces/html">
      <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
                  doctype-system="http://www.w3.org/TR/html4/loose.dtd"
                  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
      <jsp:directive.page contentType="text/html;charset=windows-1252"/>
      <f:view>
        <afh:html>
          <afh:head title="untitled1">
            <meta http-equiv="Content-Type"
                  content="text/html; charset=windows-1252"/>
          </afh:head>
          <afh:body>
            <af:messages/>
            <h:form>
              <af:table value="#{bindings.emp1.collectionModel}" var="row"
                        rows="#{bindings.emp1.rangeSize}"
                        first="#{bindings.emp1.rangeStart}"
                        emptyText="#{bindings.emp1.viewable ? 'No rows yet.' : 'Access Denied.'}"
                        selectionState="#{bindings.emp1.collectionModel.selectedRow}"
                        selectionListener="#{bindings.emp1.collectionModel.makeCurrent}">
                <af:column sortProperty="EmployeeId" sortable="false"
                           headerText="#{bindings.emp1.labels.EmployeeId}">
                  <af:outputText value="#{row.EmployeeId}">
                    <f:convertNumber groupingUsed="false"
                                     pattern="#{bindings.emp1.formats.EmployeeId}"/>
                  </af:outputText>
                </af:column>
                <af:column sortProperty="FirstName" sortable="false"
                           headerText="#{bindings.emp1.labels.FirstName}">
                  <af:outputText value="#{row.FirstName}"/>
                </af:column>
                <f:facet name="selection">
                  <af:tableSelectOne text="Select and">
                    <af:commandButton text="Submit" actionListener="#{abc.click}"/>
                  </af:tableSelectOne>
                </f:facet>
              </af:table>
            </h:form>
          </afh:body>
        </afh:html>
      </f:view>
    </jsp:root>abc.java:
    import javax.faces.event.ActionEvent;
    public class abc
      public abc()
      public void click(ActionEvent actionEvent)
        System.out.println("click");
    }emp.xml (View Object):
    <?xml version='1.0' encoding='windows-1252' ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <ViewObject
       Name="emp"
       OrderBy="employee_id"
       BindingStyle="OracleName"
       CustomQuery="true"
       ComponentClass="model.empImpl"
       UseGlueCode="false" >
       <SQLQuery><![CDATA[
    select employee_id, first_name
    from employees
       ]]></SQLQuery>
       <DesignTime>
          <Attr Name="_isExpertMode" Value="true" />
          <Attr Name="_version" Value="10.1.3.39.84" />
          <Attr Name="_codeGenFlag2" Value="Access|Coll|VarAccess" />
       </DesignTime>
       <ViewAttribute
          Name="EmployeeId"
          IsUpdateable="false"
          IsPersistent="false"
          IsNotNull="true"
          Precision="6"
          Scale="0"
          Type="oracle.jbo.domain.Number"
          ColumnType="NUMBER"
          AliasName="EMPLOYEE_ID"
          Expression="EMPLOYEE_ID"
          SQLType="NUMERIC" >
          <DesignTime>
             <Attr Name="_DisplaySize" Value="22" />
          </DesignTime>
       </ViewAttribute>
       <ViewAttribute
          Name="FirstName"
          IsUpdateable="false"
          IsPersistent="false"
          Precision="20"
          Type="java.lang.String"
          ColumnType="VARCHAR2"
          AliasName="FIRST_NAME"
          Expression="FIRST_NAME"
          SQLType="VARCHAR" >
          <DesignTime>
             <Attr Name="_DisplaySize" Value="20" />
          </DesignTime>
       </ViewAttribute>
    </ViewObject>appModule.xml:
    <?xml version='1.0' encoding='windows-1252' ?>
    <!DOCTYPE AppModule SYSTEM "jbo_03_01.dtd">
    <AppModule
       Name="AppModule"
       ComponentClass="model.AppModuleImpl" >
       <DesignTime>
          <Attr Name="_isCodegen" Value="true" />
          <Attr Name="_version" Value="10.1.3.39.84" />
          <Attr Name="_deployType" Value="0" />
       </DesignTime>
       <ViewUsage
          Name="emp1"
          ViewObjectName="model.emp" >
       </ViewUsage>
    </AppModule>bc4j.xcfg:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BC4JConfig>
       <AppModuleConfigBag>
          <AppModuleConfig name="AppModuleLocal">
             <DeployPlatform>LOCAL</DeployPlatform>
             <JDBCName>local_hr</JDBCName>
             <jbo.ampool.doampooling>false</jbo.ampool.doampooling>
             <jbo.project>Model</jbo.project>
             <jbo.ampool.dynamicjdbccredentials>false</jbo.ampool.dynamicjdbccredentials>
             <AppModuleJndiName>model.AppModule</AppModuleJndiName>
             <ApplicationName>model.AppModule</ApplicationName>
          </AppModuleConfig>
       </AppModuleConfigBag>
       <ConnectionDefinition name="local_hr">
          <ENTRY name="JDBC_PORT" value="1521"/>
          <ENTRY name="ConnectionType" value="JDBC"/>
          <ENTRY name="HOSTNAME" value="localhost"/>
          <ENTRY name="DeployPassword" value="true"/>
          <ENTRY name="user" value="hr"/>
          <ENTRY name="ConnectionName" value="local_hr"/>
          <ENTRY name="SID" value="STGY"/>
          <ENTRY name="password">
             <![CDATA[{904}05DB46A9C39F51D1A4814423FFD9297C71]]>
          </ENTRY>
          <ENTRY name="JdbcDriver" value="oracle.jdbc.OracleDriver"/>
          <ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
          <ENTRY name="DeployPassword" value="true"/>
       </ConnectionDefinition>
    </BC4JConfig>

    Hi,
    reproduces for me. It appears that the parameter is not applied properly when executing the query.
    Frank

  • Cpuldn't find "SRPublicFacadeLocal- persistEntity(Object)"

    in the file adf_tutorial.pdf in the page 107
    it is written
    1) In the Data Control Palette, select SRPublicFacadeLocal persistEntity(Object) and
    drag it to the Submit button in the visual editor. Select Bind Existing CommandButton
    from the context menu.
    But it is not there where can I find it.
    Thank you

    Hi,
    I didn't look at the tutorial, but here is what needs to be done in order to see the method in the Data Control palette, so check if you missed something. You need to:
    - have the method persistEntity() in your session bean
    - expose the method through the local interface. You can right-click the method in the Structure pane when you session bean is 'in focus' (lower left corner of the JDeveloper, by default), select Properties -> check Expose through local interface
    - refresh the data control: Select the xml file named +<your_local_interface>+.xml, probably SRPublicFacadeLocal.xml, and in the Structure pane right-click the root element and select Refresh
    You should now see the method in the Data Control palette.
    Pedja

  • Is it possible to adjust the size of an inputText to the column size ..?

    Is it possible to adjust the size of an inputText that it correspond to the column size in a af:table.
    Thanks

    I don't need 30% ... i just need that me tree as a mininal width
    Here is my page :
    <af:panelBorder>
    <f:facet name="top">
    <af:panelHeader text="#{res['classification.repository.entryList.panelHeader.title']}"/>
    </f:facet>
    <f:facet name="left">
    <af:panelGroup layout="vertical">
    <af:panelHeader text="#{res['classification.repository.entryList.list.panelHeader.title']}">
    <af:tree value="#{bindings.ClassificationEntryListclassificationEntry.treeModel}"
    var="node">
    <f:facet name="nodeStamp">
    <h:panelGroup>
    <af:commandLink text="#{node.classificationEntryCategoryCode} #{node.classificationEntryCode}"
    shortDesc="#{res['classification.repository.entryList.tree.commandLink.shortDesc.textPart1']} #{node.classificationEntryStatus} #{res['classification.repository.entryList.tree.commandLink.shortDesc.textPart2']}#{node.classificationEntryCodeFullPath}">
    <f:param name="selectedIdentification"
    value="#{node.classificationEntryIdentification}"/>
    </af:commandLink>
    </h:panelGroup>
    </f:facet>
    </af:tree>
    </af:panelHeader>
    </af:panelGroup>
    </f:facet>
    <af:panelGroup layout="vertical">
    <af:panelHeader text="#{res['classification.repository.entryList.node.panelHeader.title']}"
    binding="#{backingRepositoryEntryList.entryNodePanelHeader}">
    <af:showDetailHeader text="#{res['classification.repository.entryList.base.panelHeader.title']}">
    <af:panelForm>
    <af:inputText value="#{bindings.classificationEntryCategoryCode.inputValue}"
    label="#{bindings.classificationEntryCategoryCode.label}"
    required="#{bindings.classificationEntryCategoryCode.mandatory}"
    columns="#{bindings.classificationEntryCategoryCode.displayWidth}">
    <af:validator binding="#{bindings.classificationEntryCategoryCode.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.classificationEntryCode.inputValue}"
    label="#{bindings.classificationEntryCode.label}"
    required="#{bindings.classificationEntryCode.mandatory}"
    columns="#{bindings.classificationEntryCode.displayWidth}">
    <af:validator binding="#{bindings.classificationEntryCode.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.classificationEntryCodeFullPath.inputValue}"
    label="#{bindings.classificationEntryCodeFullPath.label}"
    required="#{bindings.classificationEntryCodeFullPath.mandatory}"
    columns="#{bindings.classificationEntryCodeFullPath.displayWidth}">
    <af:validator binding="#{bindings.classificationEntryCodeFullPath.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.classificationEntryIdentification.inputValue}"
    label="#{bindings.classificationEntryIdentification.label}"
    required="#{bindings.classificationEntryIdentification.mandatory}"
    columns="#{bindings.classificationEntryIdentification.displayWidth}">
    <af:validator binding="#{bindings.classificationEntryIdentification.validator}"/>
    </af:inputText>
    </af:panelForm>
    </af:showDetailHeader>
    <af:showDetailHeader text="#{res['classification.repository.entryList.mainTitle.panelHeader.title']}">
    <af:table value="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.collectionModel}"
    var="row"
    rows="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.rangeSize}"
    first="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.rangeStart}"
    emptyText="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.viewable ? 'No rows yet.' : 'Access Denied.'}"
    selectionState="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.collectionModel.selectedRow}"
    selectionListener="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.collectionModel.makeCurrent}"
    width="100%">
    <af:column sortProperty="language" sortable="true"
    headerText="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.labels.language}"
    width="20%">
    <af:inputText value="#{row.language}" simple="true"
    required="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.attrDefs.language.mandatory}"
    columns="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.attrHints.language.displayWidth}"
    inlineStyle="width: 100%"/>
    </af:column>
    <af:column sortProperty="content" sortable="true"
    headerText="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.labels.content}">
    <af:inputText value="#{row.content}" simple="true"
    required="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.attrDefs.content.mandatory}"
    columns="#{bindings.ClassificationEntryTitleclassificationEntryMainTitle.attrHints.content.displayWidth}"
    inlineStyle="width: 100%"/>
    </af:column>
    <f:facet name="selection">
    <af:tableSelectOne text="Select and">
    <af:commandButton text="Submit"/>
    </af:tableSelectOne>
    </f:facet>
    </af:table>
    </af:showDetailHeader>
    <af:showDetailHeader text="#{res['classification.repository.entryList.complementaryTitle.panelHeader.title']}">
    <af:table value="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.collectionModel}"
    var="row"
    rows="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.rangeSize}"
    first="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.rangeStart}"
    emptyText="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.viewable ? 'No rows yet.' : 'Access Denied.'}"
    selectionState="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.collectionModel.selectedRow}"
    selectionListener="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.collectionModel.makeCurrent}"
    width="100%">
    <af:column sortProperty="content" sortable="true"
    headerText="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.labels.content}"
    width="20%">
    <af:inputText value="#{row.content}" simple="true"
    required="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.attrDefs.content.mandatory}"
    columns="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.attrHints.content.displayWidth}"
    inlineStyle="width: 100%"/>
    </af:column>
    <af:column sortProperty="language" sortable="true"
    headerText="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.labels.language}">
    <af:inputText value="#{row.language}" simple="true"
    required="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.attrDefs.language.mandatory}"
    columns="#{bindings.ClassificationEntryTitleclassificationEntryComplementaryTitle.attrHints.language.displayWidth}"
    inlineStyle="width: 100%"/>
    </af:column>
    <f:facet name="selection">
    <af:tableSelectOne text="Select and">
    <af:commandButton text="Submit"/>
    </af:tableSelectOne>
    </f:facet>
    </af:table>
    </af:showDetailHeader>
    </af:panelHeader>
    </af:panelGroup>
    </af:panelBorder>

  • Datacontrols Tiles problem

    It shows a message: Access denied when using Datacontrols of type table with Tiles in JSF, this is my code:
    <!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/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
    <af:table rows="#{bindings.findAllCatalog1.rangeSize}"
    first="#{bindings.findAllCatalog1.rangeStart}"
    emptyText="#{bindings.findAllCatalog1.viewable ? 'No rows yet.' : 'Access Denied.'}"
    var="row" value="#{bindings.findAllCatalog1.collectionModel}"
    selectionState="#{bindings.findAllCatalog1.collectionModel.selectedRow}"
    selectionListener="#{bindings.findAllCatalog1.collectionModel.makeCurrent}">
    <f:facet name="selection">
    <af:tableSelectOne text="Select and ">
    <af:commandButton text="Submit"/>
    </af:tableSelectOne>
    </f:facet>
    <af:column headerText="#{bindings.findAllCatalog1.labels.id}"
    sortable="true" sortProperty="id">
    <af:outputText value="#{row.id}"/>
    </af:column>
    <af:column headerText="#{bindings.findAllCatalog1.labels.journal}"
    sortable="true" sortProperty="journal">
    <af:outputText value="#{row.journal}"/>
    </af:column>
    <af:column headerText="#{bindings.findAllCatalog1.labels.publisher}"
    sortable="true" sortProperty="publisher">
    <af:outputText value="#{row.publisher}"/>
    </af:column>
    <af:column headerText="#{bindings.findAllCatalog1.labels.edition}"
    sortable="true" sortProperty="edition">
    <af:outputText value="#{row.edition}"/>
    </af:column>
    <af:column headerText="#{bindings.findAllCatalog1.labels.title}"
    sortable="true" sortProperty="title">
    <af:outputText value="#{row.title}"/>
    </af:column>
    <af:column headerText="#{bindings.findAllCatalog1.labels.author}"
    sortable="true" sortProperty="author">
    <af:outputText value="#{row.author}"/>
    </af:column>
    </af:table>

    Did you ever solve this problem ? I'm seeing extact the same issue. JSF and Tiles work great, but as soon as I try to add an ADF databound tile, e.g. including a read-only table, things break. I get an "Access Denied" error which is the default setting for the af:table's emptyText attribute.

  • In the af:table selected row need to display in the next page?

    Hi,
    I am using jdev 11.1.2.3.0.
    I tried one sample application, in that jspx page, I am having the af:table and button in my view activity. In that table select one row and click on the button that time, the navigation page always show the first row. Suppose I select the 5th ro and navigate the page also displaying the first row only. So I don't know how to proceed this? Kindly suggest me.
    Regards,
    Ragu

    Hi Timo,
    I used the selectionListener tag also.
    Anyway Here I posted my jspx page.
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document title="EmployeesView.jspx" id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelCollection id="pc1">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar id="t2">
    <af:commandButton text="Edit Employee" id="cb1" action="Edit" />
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.EmployeesVO.collectionModel}" var="row" rows="#{bindings.EmployeesVO.rangeSize}"
    emptyText="#{bindings.EmployeesVO.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.EmployeesVO.rangeSize}" rowBandingInterval="0"
    filterModel="#{bindings.EmployeesVOQuery.queryDescriptor}"
    queryListener="#{bindings.EmployeesVOQuery.processQuery}" filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.EmployeesVO.collectionModel.selectedRow}"
    selectionListener="#{bindings.EmployeesVO.collectionModel.makeCurrent}" rowSelection="single"
    id="t1">
    <af:column sortProperty="#{bindings.EmployeesVO.hints.EmployeeId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.EmployeeId.label}" id="c1">
    <af:outputText value="#{row.EmployeeId}" id="ot1">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.EmployeeId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.FirstName.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.FirstName.label}" id="c2">
    <af:outputText value="#{row.FirstName}" id="ot2"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.LastName.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.LastName.label}" id="c3">
    <af:outputText value="#{row.LastName}" id="ot3"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.Email.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.Email.label}" id="c4">
    <af:outputText value="#{row.Email}" id="ot4"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.PhoneNumber.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.PhoneNumber.label}" id="c5">
    <af:outputText value="#{row.PhoneNumber}" id="ot5"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.HireDate.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.HireDate.label}" id="c6">
    <f:facet name="filter">
    <af:inputDate value="#{vs.filterCriteria.HireDate}" id="id1">
    <af:convertDateTime pattern="#{bindings.EmployeesVO.hints.HireDate.format}"/>
    </af:inputDate>
    </f:facet>
    <af:outputText value="#{row.HireDate}" id="ot6">
    <af:convertDateTime pattern="#{bindings.EmployeesVO.hints.HireDate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.JobId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.JobId.label}" id="c7">
    <af:outputText value="#{row.JobId}" id="ot7"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.Salary.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.Salary.label}" id="c8">
    <af:outputText value="#{row.Salary}" id="ot8"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.CommissionPct.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.CommissionPct.label}" id="c9">
    <af:outputText value="#{row.CommissionPct}" id="ot9"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.ManagerId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.ManagerId.label}" id="c10">
    <af:outputText value="#{row.ManagerId}" id="ot10">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.ManagerId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.DepartmentId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.DepartmentId.label}" id="c11">
    <af:outputText value="#{row.DepartmentId}" id="ot11">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.DepartmentId.format}"/>
    </af:outputText>
    </af:column>
    </af:table>
    </af:panelCollection>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    After click the Edit Employee button it should navigate the another page and which record I choose.

  • Refresh adf table and selection row

    Hi,
    I create web application. I have created entity Users from MySQL database and managed Bean. In this managed Bean (sessionScope) is method for connection to database and method for adding new row (data) in database. It works.
    I have 2 problems.
    The first.
    I have form for adding User and commandButton Add.
    How I can refresh (update) adf table after executing SQL command (in commandButton Add) ? Now I must reconnect session.
    The second problem:
    I want to show a panel with data from one row from adf table.
    How I can selection this row in popup ?
    My table:
    <af:table var="user" rowBandingInterval="0" id="t2"
                                                  inlineStyle="margin:20px 30px; width:578pt; height:160pt;"
                                                  value="#{userController.users}"
                                                  rows="15"
                                                  emptyText="#{bindings.UsersprototypView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                                                  fetchSize="#{bindings.UsersprototypView11.rangeSize}"
                                                  editingMode="clickToEdit" rowSelection="single"
                                                  selectedRowKeys="#{userController.selectedUser}"
                                                  selectionListener="#{userController.selectedUser}"> ---- Here I have problem.
                                            <af:column sortProperty="#{user.user_id}"
                                                       sortable="false"
                                                       headerText="ID"                            
                                                       id="c11" width="33">
                                                <af:commandLink id="ot34" text="#{user.user_id}">
                                                    <af:showPopupBehavior popupId="p4" triggerType="action"/>
                                                </af:commandLink>
                                            </af:column>
                                            <af:column sortProperty="#{user.firstname}"
                                                       sortable="false"
                                                       headerText="Firstname"
                                                       id="c20" width="111">
                                                <af:outputText value="#{user.firstname}" id="ot27"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.lastname}"
                                                       sortable="false"
                                                       headerText="Lastname"
                                                       id="c12">
                                                <af:outputText value="#{user.lastname}" id="ot31"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.address}"
                                                       sortable="false"
                                                       headerText="Address"
                                                       id="c9" width="95">
                                                <af:outputText value="#{user.address}" id="ot32"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.city}"
                                                       sortable="false"
                                                       headerText="#City"
                                                       id="c10" width="76">
                                                <af:outputText value="#{user.city}" id="ot33"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.username}"
                                                       sortable="false"
                                                       headerText="Username"
                                                       id="c7" width="102">
                                                <af:outputText value="#{user.username}" id="ot29"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.email}"
                                                       sortable="false"
                                                       headerText="E-mail"
                                                       id="c21" width="106">
                                                <af:outputText value="#{user.email}" id="ot28"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.regdate}"
                                                       sortable="false"
                                                       headerText="Registration"
                                                       id="c8" width="108">
                                                <af:outputText value="#{user.regdate}" id="ot30">
                                                    <af:convertDateTime pattern="#{user.regdate}"/>
                                                </af:outputText>
                                            </af:column>
                                        </af:table>userController is name managed Bean.
    users is list of users.
    My panel window (popup):
    <af:popup childCreation="deferred" autoCancel="disabled" id="p4">
                                        <af:panelWindow id="pw9" title="Delete user">
                                            <af:panelFormLayout id="pfl6">
                                                <af:panelLabelAndMessage label="ID:"
                                                                         id="plam16">
                                                    <af:outputText value="#{userController.selectedUser.user_id}" id="ot50"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Firstname:"
                                                                         id="plam17">
                                                    <af:outputText value="#{userController.selectedUser.firstname}" id="ot51"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Lastname:"
                                                                         id="plam18">
                                                    <af:outputText value="#{userController.selectedUser.lastname}" id="ot52"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Address:"
                                                                         id="plam19">
                                                    <af:outputText value="#{userController.selectedUser.address}" id="ot53"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="City:" id="plam20">
                                                    <af:outputText value="#{userController.selectedUser.city}" id="ot54"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Username:"
                                                                         id="plam21">
                                                    <af:outputText value="#{userController.selectedUser.username}" id="ot55"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="E-mail:" id="plam22">
                                                    <af:outputText value="#{userController.selectedUser.email}" id="ot56"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Registration:"
                                                                         id="plam23">
                                                    <af:outputText value="#{userController.selectedUser.regdate}" id="ot57">
                                                        <af:convertDateTime pattern="#{userController.selectedUser.regdate}"/>
                                                    </af:outputText>
                                                </af:panelLabelAndMessage>
                                            </af:panelFormLayout>
                                            <af:commandButton text="Delete" id="cb18"
                                                              inlineStyle="width:80pt; margin:10px 0px 0px 0px;"/>
                                        </af:panelWindow>
                                    </af:popup>When I cut out row: selectionListener="#{userController.selectedUser}
    Popup (for deleting user) looks like this:
    http://imageshack.us/photo/my-images/404/popupc.jpg/
    I need to get the outputs from <af:outputText> in this popup.
    Thanks for help.
    Edited by: user9202624 on 26.2.2013 7:52

    thanks for answer.
    I added partialTriggers in af:table
    <af:table var="user" rowBandingInterval="0" id="t2"
                                                  inlineStyle="margin:20px 30px; width:578pt; height:160pt;"
                                                  value="#{userController.users}"
                                                  rows="15"
                                                  emptyText="#{bindings.UsersprototypView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                                                  fetchSize="#{bindings.UsersprototypView11.rangeSize}"
                                                  editingMode="clickToEdit" rowSelection="single"
                                                  selectedRowKeys="#{userController.selectedUser}"
                                                  partialTriggers="::t1" >What next ? What should I do next ? Sry, I'm newbie in adf and jDev.
    Edited by: user9202624 on 26.2.2013 8:55

  • How to get selected values from datatable with paging

    hi all
    here is my problem
    I have a datatable with paging size of 2 and first column as checkbox.
    now i have total record of 5 data,2 row on each page.
    Now i m selecting 1-1 row from each page.
    When i m clicking Command button to display all the selected row from different page ,i m only able to display values selected from last page.
    Through debug i can see that only last page value is set to TRUE OR FALSE and every other value is neither true nor false.
    any help???
    thanks

    <f:facet name="footer">
    <h:panelGroup binding="#{Page1.groupPanel1}" id="groupPanel1"
    style="display: block; text-align: center" styleClass="list-paging-footer">
    <h:commandButton action="#{Page1.dataTable1_firstPageAction}" binding="#{Page1.dataTable1FooterFirstButton}" id="dataTable1FooterFirstButton" image="resources/paging_first.gif" immediate="true"/>
    <h:commandButton action="# Page1.dataTable1_previousPageAction}" binding="#{Page1.dataTable1FooterPreviousButton}"
    id="dataTable1FooterPreviousButton" image="resources/paging_previous.gif" immediate="true"/>
    <h:commandButton action="#{Page1.dataTable1_nextPageAction}" binding="#{Page1.dataTable1FooterNextButton}"
    id="dataTable1FooterNextButton" image="resources/paging_next.gif" immediate="true"/>
    <h:commandButton action="#{Page1.dataTable1_lastPageAction}" binding="#{Page1.dataTable1FooterLastButton}"
    id="dataTable1FooterLastButton" image="resources/paging_last.gif" immediate="true"/>
    </h:panelGroup>
    </f:facet>
    Above is the code which i m using for paging which is command button
    Any problem with it.???
    thanks

  • How to get the selected values from a selectmanylistbox?

    Hi ADF Experts,
    <af:selectManyListbox label="Label 1" id="sml1" partialTriggers="cb2"
                            value="#{viewScope.TestBean.lovValue}"
                      autoSubmit="true"      valuePassThru="true">
        <f:selectItems value="#{viewScope.TestBean.actualList}" id="si1"
                       binding="#{viewScope.TestBean.selectedItems}"/>
      </af:selectManyListbox>
      <af:commandButton text="get selected values" id="cb3"
                        actionListener="#{viewScope.TestBean.getSelectedValues}"
                        partialSubmit="true"/>
      private List<String> lovValue;
      private List<SelectItem> actualList;
    //getters and setters
      public void getSelectedValues(ActionEvent actionEvent) {
        // Add event code here...
        for (String selectedItem : lovValue) {
            System.out.println("Selected item: " +selectedItem.); // this is giving 1 and 3 like this. how to get the checked values as I'm getting only the indexes. In this scenario I am populating the list programmatically.Just I wanted to know how can we get the selected values(not indexes). Please suggest.
    Thanks-
    Abhijit

    Hi Timo,
    As I am sharing the page fragment and the Java class. So its my usecase I have mentioned below
    I am sharing the jsff page fragment and java class. So that it wud be of help to others.
    jsff page fragment
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:f="http://java.sun.com/jsf/core">
            <af:panelGroupLayout id="pgl1">
              <af:commandButton text="Search"  id="cb1"
                                actionListener="#{viewScope.TestBean.searchSupplier}"/>
    </af:panelGroupLayout>
        <af:popup id="p1" binding="#{viewScope.TestBean.searchSupplierPopup}">
              <af:dialog id="d2"
                         type="none">
               <af:table value="#{bindings.Contacts.collectionModel}" var="row"
                      rows="#{bindings.Contacts.rangeSize}"
                      emptyText="#{bindings.Contacts.viewable ? 'No data to display.' : 'Access Denied.'}"
                      fetchSize="#{bindings.Contacts.rangeSize}"
                      rowBandingInterval="0"
                      binding="#{viewScope.TestBean.tsupportIssues}"
                      filterModel="#{bindings.ContactsQuery.queryDescriptor}"
                      queryListener="#{bindings.ContactsQuery.processQuery}"
                      filterVisible="true" varStatus="vs"
                      selectionListener="#{bindings.Contacts.collectionModel.makeCurrent}"
                      rowSelection="multiple" id="t1">
              <af:column sortProperty="name" filterable="true" sortable="true"
                         headerText="#{bindings.Contacts.hints.name.label}" id="c2">
                <af:outputText value="#{row.name}" id="ot1"/>
              </af:column>
              <af:column sortProperty="email" filterable="true" sortable="true"
                         headerText="#{bindings.Contacts.hints.email.label}"
                         id="c1">
                <af:outputText value="#{row.email}" id="ot2"/>
              </af:column>
            </af:table>
          <af:commandButton text="OK" id="cb5" partialSubmit="true"       actionListener="#{viewScope.TestBean.testMethod}"/>
          <af:commandButton text="Cancel" id="cb6"
                            actionListener="#{viewScope.TestBean.cancelPopupSearch}"/>
        </af:dialog>
            </af:popup>
      <af:selectManyListbox label="Label 1" id="sml1" partialTriggers="cb5"
                            value="#{viewScope.TestBean.lovValue}"
                      autoSubmit="true"      valuePassThru="true"
                            binding="#{viewScope.TestBean.prp1}">
        <f:selectItems value="#{viewScope.TestBean.actualList}" id="si1"
                       binding="#{viewScope.TestBean.selectedItems}"/>
      </af:selectManyListbox>
      <af:commandButton text="get selected values" id="cb3"
                        actionListener="#{viewScope.TestBean.getSelectedValues}"
                        partialSubmit="true"/>
      <af:commandButton text="remove selected" id="cb4"
             partialSubmit="true"           actionListener="#{viewScope.TestBean.removeSelectedValues}"/>
    </jsp:root>
    TestBean.java
    package com.demo.view;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javax.faces.component.UISelectItems;
    import javax.faces.event.ActionEvent;
    import javax.faces.model.SelectItem;
    import oracle.adf.model.BindingContext;
    import oracle.adf.model.binding.DCBindingContainer;
    import oracle.adf.model.binding.DCIteratorBinding;
    import oracle.adf.view.rich.component.rich.RichPopup;
    import oracle.adf.view.rich.component.rich.data.RichTable;
    import oracle.adf.view.rich.component.rich.input.RichSelectManyListbox;
    import oracle.adf.view.rich.context.AdfFacesContext;
    import oracle.adf.view.rich.event.DialogEvent;
    import oracle.jbo.Key;
    import oracle.jbo.Row;
    import oracle.jbo.RowSetIterator;
    import org.apache.myfaces.trinidad.model.RowKeySet;
    public class TestBean {
      private RichTable tsupportIssues;
      private List<SelectItem> lovValue;
      private List<SelectItem> actualList;
      private RichSelectManyListbox prp1;
      private List valuesChoosed = new ArrayList();
      private UISelectItems selectedItems;
      private RichPopup searchSupplierPopup;
        public TestBean() {
        super();
      public void setTsupportIssues(RichTable tsupportIssues) {
        this.tsupportIssues = tsupportIssues;
      public RichTable getTsupportIssues() {
        return tsupportIssues;
      public void testMethod(ActionEvent actionEvent) {
        // Add event code here...
        // For learning purposes - show Select Many Button clicked 
         System.out.println("Select Many Button has been Clicked");
        // // RowKeySet Object can hold the selected rows from a user as follows    
        RowKeySet rksSelectedRows =         this.getTsupportIssues().getSelectedRowKeys();
        // Iterator object provides the ability to use hasNext(), next() and remove() against the selected rows 
        Iterator itrSelectedRows = rksSelectedRows.iterator();  
        // Get the data control that is bound to the table - e.g.
        // OpenSupportItemsIterator    
        DCBindingContainer bindings =         (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); 
        DCIteratorBinding dcIteratorBindings =         bindings.findIteratorBinding("findAllContactsIterator"); 
        // Information from binding that is specific to the rows  
        RowSetIterator rsiSelectedRows =         dcIteratorBindings.getRowSetIterator();   
        // Loop through selected rows  
        int i=1;
        while (itrSelectedRows.hasNext()) {        
          // Get key for selected row    
          Key key = (Key)((List)itrSelectedRows.next()).get(0);  
          // Use the key to get the data from the above binding that is related to the row      
          Row myRow = rsiSelectedRows.getRow(key);         
          // Display attribute of row in console output - would generally be bound to a UI component like a Label and or used to call another proces       
          System.out.println(myRow.getAttribute("name"));
          valuesChoosed.add(myRow.getAttribute("name"));
    //        actualList = new ArrayList<SelectItem>();
    //        String j = Integer.toString(i);
    //        actualList.add(new SelectItem(j, (String)myRow.getAttribute("name")));
    //      i++;
           searchSupplierPopup.hide();
          AdfFacesContext.getCurrentInstance().addPartialTarget(prp1);
      public void setLovValue(List<SelectItem> lovValue) {
        this.lovValue = lovValue;
      public List<SelectItem> getLovValue() {
        return lovValue;
      public void setActualList(List<SelectItem> actualList) {
        this.actualList = actualList;
      public List<SelectItem> getActualList() {
        actualList = new ArrayList<SelectItem>();
        if(valuesChoosed.size()!=0){
        for(int i=0;i<valuesChoosed.size();i++){
          actualList.add(new SelectItem(valuesChoosed.get(i), (String)valuesChoosed.get(i)));
        else{
          actualList.add(new SelectItem("1","Select One"));
        return actualList;
      public void setPrp1(RichSelectManyListbox prp1) {
        this.prp1 = prp1;
      public RichSelectManyListbox getPrp1() {
        return prp1;
      public void setValuesChoosed(List valuesChoosed) {
        this.valuesChoosed = valuesChoosed;
      public List getValuesChoosed() {
        return valuesChoosed;
      public void getValues(ActionEvent actionEvent) {
        // Add event code here...
        for(int i=0;i<valuesChoosed.size();i++){
          System.out.println(valuesChoosed.get(i));
      public void getSelectedValues(ActionEvent actionEvent) {
        // Add event code here...
         for(int i=0;i<this.getLovValue().size();i++){
             System.out.println("Selected Value:"+this.getLovValue().get(i));
      public void removeSelectedValues(ActionEvent actionEvent) {
        // Add event code here...
      public void setSelectedItems(UISelectItems selectedItems) {
        this.selectedItems = selectedItems;
      public UISelectItems getSelectedItems() {
        return selectedItems;
        public void setSearchSupplierPopup(RichPopup searchSupplierPopup) {
            this.searchSupplierPopup = searchSupplierPopup;
        public RichPopup getSearchSupplierPopup() {
            return searchSupplierPopup;
        public void cancelPopupSearch(ActionEvent actionEvent) {
            // Add event code here...
            searchSupplierPopup.hide();
        public void searchSupplier(ActionEvent actionEvent) {
            // Add event code here...
            RichPopup.PopupHints hints = new RichPopup.PopupHints();
            searchSupplierPopup.show(hints);
    package com.demo.view;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javax.faces.component.UISelectItems;
    import javax.faces.event.ActionEvent;
    import javax.faces.model.SelectItem;
    import oracle.adf.model.BindingContext;
    import oracle.adf.model.binding.DCBindingContainer;
    import oracle.adf.model.binding.DCIteratorBinding;
    import oracle.adf.view.rich.component.rich.RichPopup;
    import oracle.adf.view.rich.component.rich.data.RichTable;
    import oracle.adf.view.rich.component.rich.input.RichSelectManyListbox;
    import oracle.adf.view.rich.context.AdfFacesContext;
    import oracle.adf.view.rich.event.DialogEvent;
    import oracle.jbo.Key;
    import oracle.jbo.Row;
    import oracle.jbo.RowSetIterator;
    import org.apache.myfaces.trinidad.model.RowKeySet;
    public class TestBean {
      private RichTable tsupportIssues;
      private List<SelectItem> lovValue;
      private List<SelectItem> actualList;
      private RichSelectManyListbox prp1;
      private List valuesChoosed = new ArrayList();
      private UISelectItems selectedItems;
      private RichPopup searchSupplierPopup;
        public TestBean() {
        super();
      public void setTsupportIssues(RichTable tsupportIssues) {
        this.tsupportIssues = tsupportIssues;
      public RichTable getTsupportIssues() {
        return tsupportIssues;
      public void testMethod(ActionEvent actionEvent) {
        // Add event code here...
        // For learning purposes - show Select Many Button clicked 
         System.out.println("Select Many Button has been Clicked");
        // // RowKeySet Object can hold the selected rows from a user as follows    
        RowKeySet rksSelectedRows =         this.getTsupportIssues().getSelectedRowKeys();
        // Iterator object provides the ability to use hasNext(), next() and remove() against the selected rows 
        Iterator itrSelectedRows = rksSelectedRows.iterator();  
        // Get the data control that is bound to the table - e.g.
        // OpenSupportItemsIterator    
        DCBindingContainer bindings =         (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); 
        DCIteratorBinding dcIteratorBindings =         bindings.findIteratorBinding("findAllContactsIterator"); 
        // Information from binding that is specific to the rows  
        RowSetIterator rsiSelectedRows =         dcIteratorBindings.getRowSetIterator();   
        // Loop through selected rows  
        int i=1;
        while (itrSelectedRows.hasNext()) {        
          // Get key for selected row    
          Key key = (Key)((List)itrSelectedRows.next()).get(0);  
          // Use the key to get the data from the above binding that is related to the row      
          Row myRow = rsiSelectedRows.getRow(key);         
          // Display attribute of row in console output - would generally be bound to a UI component like a Label and or used to call another proces       
          System.out.println(myRow.getAttribute("name"));
          valuesChoosed.add(myRow.getAttribute("name"));
    //        actualList = new ArrayList<SelectItem>();
    //        String j = Integer.toString(i);
    //        actualList.add(new SelectItem(j, (String)myRow.getAttribute("name")));
    //      i++;
           searchSupplierPopup.hide();
          AdfFacesContext.getCurrentInstance().addPartialTarget(prp1);
      public void setLovValue(List<SelectItem> lovValue) {
        this.lovValue = lovValue;
      public List<SelectItem> getLovValue() {
        return lovValue;
      public void setActualList(List<SelectItem> actualList) {
        this.actualList = actualList;
      public List<SelectItem> getActualList() {
        actualList = new ArrayList<SelectItem>();
        if(valuesChoosed.size()!=0){
        for(int i=0;i<valuesChoosed.size();i++){
          actualList.add(new SelectItem(valuesChoosed.get(i), (String)valuesChoosed.get(i)));
        else{
          actualList.add(new SelectItem("1","Select One"));
        return actualList;
      public void setPrp1(RichSelectManyListbox prp1) {
        this.prp1 = prp1;
      public RichSelectManyListbox getPrp1() {
        return prp1;
      public void setValuesChoosed(List valuesChoosed) {
        this.valuesChoosed = valuesChoosed;
      public List getValuesChoosed() {
        return valuesChoosed;
      public void getValues(ActionEvent actionEvent) {
        // Add event code here...
        for(int i=0;i<valuesChoosed.size();i++){
          System.out.println(valuesChoosed.get(i));
      public void getSelectedValues(ActionEvent actionEvent) {
        // Add event code here...
         for(int i=0;i<this.getLovValue().size();i++){
             System.out.println("Selected Value:"+this.getLovValue().get(i));
      public void removeSelectedValues(ActionEvent actionEvent) {
        // Add event code here...
        for(int i=0;i<this.getLovValue().size();i++){
            System.out.println("Selected Value:"+this.getLovValue().get(i));
            System.out.println(this.getLovValue().remove(i));
          AdfFacesContext.getCurrentInstance().addPartialTarget(prp1);
      public void setSelectedItems(UISelectItems selectedItems) {
        this.selectedItems = selectedItems;
      public UISelectItems getSelectedItems() {
        return selectedItems;
        public void setSearchSupplierPopup(RichPopup searchSupplierPopup) {
            this.searchSupplierPopup = searchSupplierPopup;
        public RichPopup getSearchSupplierPopup() {
            return searchSupplierPopup;
        public void cancelPopupSearch(ActionEvent actionEvent) {
            // Add event code here...
            searchSupplierPopup.hide();
        public void searchSupplier(ActionEvent actionEvent) {
            // Add event code here...
            RichPopup.PopupHints hints = new RichPopup.PopupHints();
            searchSupplierPopup.show(hints);
    Thanks,
    A. Abhijit

  • Get selected row from af:table in backing bean

    Hi Experts,
    I have an af:table and i have seelctBoolean check box in that. If the user select 'x' nos of check boxes i want to display the row data of those selected rows. Can somebody help me in getting the selected row data in backing bean?
    I am using adf faces and backing bean.
    JSF Code:
    <af:table value="#{demo.partyList}" var="row"
    rowBandingInterval="0" binding="#{demo.t1}" id="t21"
    rowSelection="multiple">
    <af:column>
    <af:selectBooleanCheckbox text="#{row.person_first_name}"
    label="Label 1" id="sbc1"
    />
    </af:column>
    <af:column>
    <af:inputText value="#{row.emirate}"/>
    </af:column>
    </af:table>
    <af:commandButton action="#{demo.print}" text="Print"/>
    BB Code:
    public void print(){
    // what code to write here
    }

    This is the code
    JSF ::
    <af:table value="#{createOpportunity.dataList}" var="row"
    rowBandingInterval="0" binding="#{demo.t1}" id="t21">
    <af:column headerText="Model">
    <af:selectBooleanCheckbox text="#{row.modelRange}"
    label="Label 1" id="sbc1" value="#{row.selected}"/>
    </af:column>
    <af:column headerText="Description">
    <af:outputText value="#{row.description}"/>
    </af:column>
    <af:column>
    <af:inputText value="#{row.quantity}"/>
    </af:column>
    </af:table>
    <af:commandButton action="#{createOpportunity.print}" text="Print"/>
    Backing bean Code::
    public void print () {
    selectedDataList = new ArrayList<ModelDescription>();
    for (ModelDescription dataItem : dataList) {
    if (dataItem.isSelected()) {
    System.out.println(dataItem.getQuantity());
    selectedDataList.add(dataItem);
    // dataItem.setSelected(false); // Reset.
    Clicking on the print button shows "We have 0 rows selected"
    Thnks for ur replies guys ..
    Edited by: Wannabe Java Guru on Mar 9, 2011 1:43 AM

  • Problems getting selected values from HtmlSelectManyCheckbox

    Hello,
    I am having problems getting values via getSelectedValues() from my HtmlSelectManyCheckbox component. The method returns an object array but the values are the same as the initial selectItems property.
    JSP:
    <h:selectManyCheckbox id="checkBox"
        binding="#{userEditBean.manyCheckbox}"
        value="#{userEditBean.groupIds}"
        layout="pageDirection">
      <f:selectItems value="#{userEditBean.allGroups}"/>
    </h:selectManyCheckbox>
    <h:commandButton action="#{userEditBean.ok}"     value="OK"/>Bean:
    public class UserEditBean extends BaseBean {
        private HtmlSelectManyCheckbox manyCheckbox = new HtmlSelectManyCheckbox();
        private String[] groupIds= {};
        private List allGroups = new ArrayList();
        public String[] getGroupIds() {
                groupIds= backing.getSomeIds();
                return groupIds;
        public void setGroupIds(String[] ids) {
            this.groupIds= ids;
        public HtmlSelectManyCheckbox getManyCheckbox() {
            return manyCheckbox;
        public void setManyCheckbox(HtmlSelectManyCheckbox newC) {
            this.manyCheckbox = newC;
        public List getAllGroups() {
            allGroups = backing.getAllGroups();
            return allGroups;
        public void setAllGroups(List newList) {
            this.allGroups = newList;
        public String ok() {
            Object o = manyCheckbox.getSelectedValues();
        }The problem is, the getSelectedValues() returns the values from the initial state of the page. The is no mark of the changes made by the user. Any help will be appreciated
    Thanks,
    Matek

    Your approach is somewhat odd. The selected values are just reflected in the groupIds, but you're overridding it with backing.getSomeIds() each time when the getter is called.
    Here is a basic working example:<h:selectManyCheckbox value="#{myBean.selectedItems}">
        <f:selectItems value="#{myBean.selectItems}"/>
    </h:selectManyCheckbox>
    <h:commandButton value="submit" action="#{myBean.action}" />MyBeanprivate List<String> selectedItems;
    private List<SelectItem> selectItems;
    // + getters + setters
    // You can use initialization block or constructor to prepopulate the selectItems.
        selectItems = new ArrayList<SelectItem>();
    //or
    public MyBean() {
        selectItems = new ArrayList<SelectItem>();
    public void action() {
        // The selected items are reflected in selectedItems.
        for (String selectedItem : selectedItems) {
            System.out.println(selectedItem);
    }

  • Get selected row from grid

    Hi
    I use JDev 11.1 with ADF, i have grid, i need to get selected row of grid when i press buttom, how can i do that?
    Thanks

    Hi,
    You have a table in your page that is based on a viewObject iterator and you need to get the selected row in your backing bean when you click on a button.
    Did I get this right?
    If so then you need to add an actionListener on this button that executes a method in the backing bean.
    the button code:
    <af:commandButton text="commandButton 1" id="cb1"
                                        actionListener="#{myBean.buttonActionListener}"/>In this method you need to add code like this:
      public void buttonActionListener(ActionEvent actionEvent) {
        BindingContext bindingctx=BindingContext.getCurrent();
        DCBindingContainer bindings=(DCBindingContainer)bindingctx;
        DCIteratorBinding iter= bindings.findIteratorBinding("iteratorName");
        Row currentRow=iter.getCurrentRow();
      }If this is not what you need give some more details.
    Gabriel

Maybe you are looking for

  • Error: there are non exicisable item with cenvat tax code

    I am getting an error message there are non exicisable item with cenvat tax code while trying to add po for pick and pack from sales order. I request all of you to help me with it. I have already checked if the item and ware house is exicisable in th

  • I can't copy iTunes media files from one external hard drive to another.

    Hi, I am running the latest iTunes and Mavericks software on my MacBook Pro. My iTunes library is stored on an external Seagate 2tb hard drive and it is almost full. I want to transfer the files to a WD Elements 3tb external hard drive and have made

  • Cl_gui_alv_grid

    Dear Expert, I am developing a report with cl_gui_alv_grid. After show the total data of material , use can double click on the plant to get the detail data of the material number. I set it with call screen 100 and in screen 100 I create a container

  • Firefox 4 has messed up my iGoogle Settings and won't allow it to function. Yet IE 8.6 handles it fine. What is the problem?

    Firefox 4 is preventing me from changing/moving/ editing any gadgets I have on my iGoogle page. Several of the gadgets don't show any content or even a title. I checked my iGoogle settings in I.E. and everything works in it. What changed in Firefox 4

  • MuVo V100 Playing Downlo

    I am having a problem with my daughter's MuVo V00. This is the second one that I have purchased and I have no problems with the first one. I download the songs into Windows Media Play and Sync them to the MP3. The songs show up in when I plug the MP3