How to get selected entity from ADF Table

I'm using EJB and ADF Faces.
I have an ADF Table, and when a row is selected I'd like to be able to get the EJB Entity that was selected, is this feasible?
The reason I would like to do it, is for a Dialog. I have a popup dialog, and in the popup the user can do a search. The results are displayed in the ADF table. When supplying the return value from the dialog:
AdfFacesContext.getCurrentInstance().returnFromDialog(?, null);
I would like ? to be the EJB entity representing the row, because I need to return the value of more than one of the columns. Is this not realistic, or should I just add then to a List and pass that back?
thanks
R

Thanks KUBA,
I hacked some code from the inbuilt JDeveloper Help. Are you saying there is an easier way than this, or did I state the question poorly and you gave an answer to something else? My english is not always perfect.
This is the code that works for me. (cmdSelect is the submit button on the table)
public String cmdSelect_action() {
//Access the tableSelectMany1 table. Note that the table name
//is taken from the id of the table in the JSF page.
CoreTable table = this.getUserResultsTable();
//Obtain a list of all selected rows from the table
Set rowSet = table.getSelectionState().getKeySet();
Iterator rowSetIter = rowSet.iterator();
//Use the declarative method to get the ADF bindings
BindingContainer bindings = getBindings();
//Get the object to delete. To do this, you must get the
//iterator binding for the Products in the page definition file,
//and cast it to DCIteratorBinding for further processing
DCIteratorBinding pr_dcib = (DCIteratorBinding)
bindings.get ("queryUserVFindByFullNameIter");
//Loop through the set of selected row numbers and delete the
//equivalent object from the Products collection.
UserV userV = null;
while (rowSetIter.hasNext()){
//get the table row
Key key = (Key) rowSetIter.next();
//set the current row in the ADF binding to the same row
pr_dcib.setCurrentRowWithKey(key.toStringFormat(true));
//Obtain the Products object to delete
RowImpl prRow = (RowImpl) pr_dcib.getCurrentRow();
//using the generated code to execute the declarative method
userV = (UserV)prRow.getDataProvider();
break;
AdfFacesContext.getCurrentInstance().returnFromDialog(userV, null);
return null;
}

Similar Messages

  • Jdev 11.1.1.5 R1 How To Get Row Data From ADF Table

    Hi everyone,
    I have an ADF Table Populated with dummy data (for now). Below the Table there is an InputText field.
    What I need to do is have the body of the message show up in the InputText field when the user clicks on a message in the inbox(Table).
    I've been trying to figure this out for quite some time now, unsuccessfully of course. Hopefully you guys can help me change that.
    I do consider myself a beginner still, so please be as clear and specific as possible.
    Thanks in advance!
    Here is the code I have for the Table/InputText and Backing Beans
    <tr>
    <td>
    <af:table value="#{TableBean.messageAll}" var="message"
    rows="5"
    inlineStyle="color:Navy; border-style:outset; border-color:Background; border-width:thick; font-size:small; text-align:center; vertical-align:middle; height:135.0px;"
    width="610" rowBandingInterval="0" id="t1"
    rowSelection="single"
    selectionListener="#{TableBean.messageSelected}"
    immediate="true" summary="Message Inbox"
    disableColumnReordering="true"
    columnSelection="none"
    columnResizing="disabled">
    <af:column sortable="false" align="center"
    id="chechboxCol" width="25"
    minimumWidth="25">
    <f:facet name="header">
    <h:selectBooleanCheckbox id="selectAll"
    onclick="selectAll();"></h:selectBooleanCheckbox>
    </f:facet>
    <h:selectBooleanCheckbox id="selectMessage"
    value="#{message.selected}"
    immediate="true"></h:selectBooleanCheckbox>
    </af:column>
    <af:column id="urgentCol" width="25" align="center"
    minimumWidth="25">
    <f:facet name="header">
    <h:outputText id="urgentHeader">
    <img src="urgent.gif" height="14"
    width="14" alt="Urgent Icon"/>
    </h:outputText>
    </f:facet>
    </af:column>
    <af:column sortable="true" headerText="From"
    align="start" id="fromCol" width="175"
    minimumWidth="175">
    <af:outputText value="#{message.from}"
    id="ot1"/>
    </af:column>
    <af:column sortable="true" headerText="Subject"
    align="start" id="subjectCol" width="175"
    minimumWidth="175">
    <af:outputText value="#{message.subject}"
    id="ot2"/>
    </af:column>
    <af:column sortable="true" headerText="Type"
    align="start" id="c5" width="100"
    minimumWidth="100">
    <af:outputText value="#{message.type}"
    id="ot3"/>
    </af:column>
    <af:column sortable="true"
    headerText="Date Received" align="start"
    id="c6" width="80" minimumWidth="80">
    <af:outputText value="#{message.date}"
    id="ot4"/>
    </af:column>
    <af:column sortable="true" headerText="Body"
    rendered="false" align="start" id="c7"
    width="100" minimumWidth="100">
    <af:outputText value="#{message.body}"
    id="ot5"/>
    </af:column>
    </af:table>
    </td>
    </tr>
    <tr>
    <td>
    <p>
    <af:commandButton text="Print" id="printButton"
    inlineStyle="font-size:x-small;"/>
    </p>
    <af:inputText binding="#{TableBean.textArea}" rows="10"
    readOnly="true" partialTriggers="t1"
    contentStyle="width:620px;"
    inlineStyle="color:Black; outline-color:Background; outline-style:outset;"
    id="it1"></af:inputText>
    </td>
    </tr>
    package Backing;
    import javax.faces.event.ActionEvent;
    import oracle.adf.view.rich.component.rich.input.RichInputText;
    import oracle.adf.view.rich.component.rich.output.RichOutputText;
    import java.util.List;
    import java.util.ArrayList;
    import oracle.adf.view.rich.component.rich.data.RichTable;
    import org.apache.myfaces.trinidad.event.SelectionEvent;
    public class TableBean {
    private RichInputText textArea;
    private message[] messageAll =
    new message[] { new message("Sender 1", "Author 1", "Message 1",
    "Alert", "6/21/2011",
    "This is the body 1."),
    new message("Sender 2", "Author 2", "Message 2",
    "Notification", "6/22/2011",
    "This is the body 2."),
    new message("Sender 3", "Author 3",
    "Message 3", "Broadcast", "6/23/2011",
    "This is the body 3."),
    new message("Sender 4", "Author 4",
    "Message 4", "Alert", "6/24/2011",
    "This is the body 4."),
    new message("Sender 5", "Author 5", "Message 5",
    "Notification", "6/25/2011",
    "This is the body 5."), };
    public message[] getmessageAll() {
    return messageAll;
    public void messageSelected(SelectionEvent selectionEvent) {
    textArea.setValue("Message body should go here.");
    public void setTextArea(RichInputText textArea) {
    this.textArea = textArea;
    public RichInputText getTextArea() {
    return textArea;
    public class message {
    boolean selected;
    String from;
    String to;
    String subject;
    String type;
    String date;
    String body;
    public message(String from, String to, String subject, String type,
    String date, String body) {
    this.from = from;
    this.to = to;
    this.subject = subject;
    this.type = type;
    this.date = date;
    this.body = body;
    public String getFrom() {
    return from;
    public String getTo() {
    return to;
    public String getSubject() {
    return subject;
    public String getType() {
    return type;
    public String getDate() {
    return date;
    public String getBody() {
    return body;
    }

    try this code in selection method
    RichTable object = (RichTable)selectionEvent.getSource();
    Row row = null;
    for (Object facesRowKey : object.getSelectedRowKeys()) {
    object.setRowKey(facesRowKey);
    Object o = object.getRowData();
    JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding)o;
    row = rowData.getRow();
    }

  • How to get selected value from a Table?

    Dear Friends,
    when i select a value form the table i want that value to be passed to controller for deleting that record,
    please help in understaning what code must i write for the same?
    the  "Zpms_Master_Input.Output.It_P9001.Employee_Code" is the first field which i want to capture in some context or temp. variable to pass it on to controller for further porcessing.
    please give a sample code on how do i catch this employee code value and use it for my processing.
    Regards,
    Jack
    Edited by: Jack on Dec 6, 2011 11:20 AM

    Hi Kumar you have perfectly understood my requirement .... i tried coding as per your suggestion but not able to get through ...it seems with little help i would make it... the code i am writing here is as follows.
    input.setMode("DEL" );          
    P9009 inputParaABC = new P9009();     
    //inputParaABC.setEmployee_Code("2134"); ---> when i pass a hard coded employee code value i am able to delete
    //<your variable> = wdContext.current<tableNodeElement>.get<fieldname> ; --> your suggestion
    inputParaABC.setEmployee_Code(wdContext.currentIt_P9009Element().getEmployee_Code()); 
                              --> Here as per your  suggestion i am not getting a <tableNodeElement> prompt by the system, it only gives
                              --> wdContext.currentIt_P9009Element() or .createOutputElement etc but no tableNode
    the above code i have wriiten on the Controller where in am executing the RFC, how do we adjust the TableNodeElement thing in my code?? 
    Please help.

  • Dvt:pivotFilterBar - how to get selected values from filter

    Hi all,
    I have a question: how to programmatically get selected values from pivot table's filter bar?
    I have tried to use
    pivotTable.getDataModel().getDataAccess().getValueQDR(startRow, startCol, DataAccess.QDR_WITH_PAGE);but for page edge dimensions it returns BAD DATA, it seems that it returns some cached values.
    Environment: JDev 11.1.1.3.0 without any patches.
    thanks,
    Miroslaw

    Hi,
    You can retrieve the selected value in the PivotFilterBar through the model of PivotFilterBar, instead of dataaccess:
    // get the model from the pivot filter bar instance
    QueryDescriptior queryDescriptor = (QueryDescriptor)pivotFilterBar.getValue();
    // retrieve a list of criterion, each one is used to populate each lov within the pivot filter bar
    ConjunctionCriterion conjunctionCriterion = queryDescriptor.getConjunctionCriterion();
    List<Criterion> criterionList = conjunctionCriterion.getCriterionList();
    for (int i=0; i<_criterionList.size(); i++) {
    AttributeCriterion criterion = (AttributeCriterion)criterionList.get(i);
    // _selected is the currently selected value
    Object selected = criterion.getValues().get(0);
    System.out.println(_selected);
    Hope that helps,
    Chadwick

  • How to get selected value from selectOneRadio ???

    Hi...i want to how to get selected value from selectOneRadio and use it in another page and in backing bean.
    Note i have about 10 selectOneRadio group in one page i want to know value of each one of them.
    Plzzzzzzzz i need help

    You have a datatable in which each row is a question, correct?
    Also in each row you have 5 possible answers that are in a radio, correct?
    So,
    You need to put in your datatable model, a question, and a list of answers (5 in yor case) and the selected one.
    So you will have a get to the question, an SelectItem[] list to populate the radios and another get/set to the selected question.
    ex:
    <h:selectOneRadio value="#{notas.selectedString}" id="rb">
    <f:selectItem itemValue="#{notas.valuesList}"/>
    </h:selectOneRadio>
    Search the web for examples like yours.

  • How to get selected value from OADefaultListBean.

    Hi All,
    How to get selected value from OADefaultListBean ?
    Thanks,

    Hi,
    To identify the user's selection(s) when the page is submitted, you would add the following logic to your processFormRequest() method:
    OADefaultListBean list =
    (OADefaultListBean)webBean.findChildRecursive("positionsList");
    String name = list.getName();
    String[] selectedValues = pageContext.getParameterValues(name);
    To retrieve all the values in the list box, call list.getOptionsData().
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to get the data from Pooled Table T157E.

    Hi Experts,
    How to get the data from Pooled Table T157E.
    Any help.
    Thanks in Advance,
    Ur's Harsha.

    create some internal table similar to T157E and pass all data as per SPRAS.
    After that use internal table in your program as per the requirement.
    Regds,
    Anil

  • How can I select columns from a table EMP, using Select statement?.

    Hi Friends,
    How can I select columns from a table EMP?.
    I want to select columns of EMP table, using select statement.
    Please reply me urgently.
    Shahzad

    Something like this:
    scott@DBA> select empno,ename,job from emp;
         EMPNO ENAME      JOB
          7369 SMITH      CLERK
          7499 ALLEN      SALESMAN
          7521 WARD       SALESMAN
          7566 JONES      MANAGER
          7654 MARTIN     SALESMAN
          7698 BLAKE      MANAGER
          7782 CLARK      MANAGER
          7788 SCOTT      ANALYST
          7839 KING       PRESIDENT
          7844 TURNER     SALESMAN
          7876 ADAMS      CLERK
          7900 JAMES      CLERK
          7902 FORD       ANALYST
          7934 MILLER     CLERK
    14 rows selected.Check the documentation:
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_10002.htm#sthref9697
    Message was edited by:
    Delfino Nunez

  • How to get selected row from a non-bind ADF table

    Hi,
    I have an ADF table that is based on a collectionModel built programmatically. The collectionModel is this:
    model = new SortableModel(new ArrayList<ArrayList>());
    Hence, it is not a binding table. My question is how to get the selectedRows from a non-bind table.
    I am used to building binding ADF table and I know we can get it from voiterator.getCurrentRow, since the selectionListener is set to the binding....collectionModel.makeCurrent
    <af:table value="#{bindings.ItasLookupTypesVO1.collectionModel}"
    selectedRowKeys="#{bindings.ItasLookupTypesVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.ItasLookupTypesVO1.collectionModel.makeCurrent}"
    </af:table>
    I am thinking maybe I need to write my own selectionListener, but need more advice/ideas of what's the codes in the customer selection Listener to get it from my SortableModel.
    Please help.
    Thanks
    -Mina

    I'm not sure if this works in your case, but check out the selection listener I write in this blog http://wp.me/pcBZk-eu
    You should use the selection event and check the added set. This should give you access to the selected row.
    Timo

  • Need sample code to get handle of Selected rows from ADF Table

    Hi,
    I am new to ADF. I have an ADF table based on VO object.On some button action,I need to get handle of selected rows in application module.
    If anybody is having sample code to do this then please share with me.
    Thanks,
    ashok

    wow now link http://blogs.oracle.com/smuenchadf/examples/#134 is working.thanks a lot.
    also the link http://baigsorcl.blogspot.com/2010/06/deleting-multi-selected-rows-from-adf.html is very useful. Thanks a lot for Sameh Nassar too.He made it clear that in 11g Select column is not available for a ADF table and provided a solution to get Select column.
    Thanks,
    ashok

  • 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 tableSelectMany

    Hi all,
    I have a view object which displays all column names of a table. I created a tableselectmany table with the view object.
    the user has to select some rows (for mining function).
    how to get the selected rows from tableselectmany table?
    what should be in 'action' and 'actionlistener' ?
    thanks in advance.

    test(Set<Key> empKeys){
    System.out.println("Inside function");
    for(Key keys:empKeys){
    Row[] row = getCollectionsView1().findByKey(keys,1);
    EewCollectionsViewRowImpl vo = (CollectionsViewRowImpl)row[0];
    In the action just call this method(test)
    and pass the argument as #{applicationScope.managedBean.firstProperty.selectionState.keySet}
    I hope this works for you.

  • Get selected elements from a table

    Hi all,
    I have a requirement like i m enhancing standard component in that i have added one button on click of that i want fetch the selected line item from the table ( which is a normal table). selection mode is auto.
    i tried with  the following code.
    DATA:lr_element                   TYPE REF TO if_wd_context_element,
           lv_index                     TYPE i.
    *--Get selected element
      lr_element = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
    ****Here itself its throughing dump because lr_element is initial***************
    *--get selected element index.
      lv_index = lr_element->get_index( ).
    can any one help me what is the wrong.. else suggest me how to get the selected elements from a table....
    Thanks in advance.

    *--Get selected element
    lr_element = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
    if  lr_element is bound.
    lv_index = lr_element->get_index( ).
    endif.
    Instead you can directly read the node if that row is a lead selected one.
    lo_node = wd_context->get_child_node( name = 'EMP' ).  "Emp is node name
    lo_ele = lo_node->get_lead_selection( ).
    or
    lv_index = lo_node->get_lead_selection_index( ).
    where is the above code written..is it written in OnLeadSelect event of the TABLE..
    can any one help me what is the wrong.. else suggest me how to get the selected elements from a table....
    As the selection mode is Auto there is no multiple selection..hence try to use the lead selection only.
    Edited by: Lekha on Jan 3, 2012 6:47 PM

  • How to delete multiple rows from ADF table

    How to delete multiple rows from ADF table

    Hi,
    best practices when deleting multiple rows is to do this on the business service, not the view layer for performance reasons. When you selected the rows to delete and press submit, then in a managed bean you access thetable instance (put a reference to a managed bean from the table "binding" property") and call getSeletedRowKeys. In JDeveloper 11g, ADF Faces returns the RowKeySet as a Set of List, where each list conatins the server side row key (e.g. oracle.jbo.Key) if you use ADF BC. Then you create a List (ArrayList) with this keys in it and call a method exposed on the business service (through a method activity in ADF) and pass the list as an argument. On the server side you then access the View Object that holds the data and find the row to delte by the keys in the list
    Example 134 here: http://blogs.oracle.com/smuenchadf/examples/#134 provides you with the code
    Frank

  • How to get selected items from a tree in backing bean without adfbc

    Hi ADF Experts,
    Below is my code for af:tree. My question is how can I get selected Items from the selectionListener (without adf bc) this uses formation of tree from backing bean.
    Using Jdev 11.1.1.7.0
    <af:tree var="node" value="#{pageFlowScope.MerchandizeBean.model}"
                      binding="#{pageFlowScope.MerchandizeBean.treeModel}"     id="tree" immediate="true" autoHeightRows="0"
                           styleClass="AFStretchWidth" rowSelection="multiple"
                           selectionListener="#{pageFlowScope.MerchandizeBean.treeNodeSelection}">
                    <f:facet name="nodeStamp">
                      <af:commandLink text="#{node.classDescription}"
                           actionListener="#{pageFlowScope.MerchandizeBean.createListManyItemForMerchandise}"           id="displayTable" partialSubmit="true">
                      </af:commandLink>
                    </f:facet>
                  </af:tree>
        public void treeNodeSelection(SelectionEvent selectionEvent) {
            // Add event code here...
            RichTree tree = (RichTree)selectionEvent.getSource();
                    TreeModel model = (TreeModel)tree.getValue();
                    //get selected value
    Thanks
    Roy

    Hi,
    in a multi select case, try
    RowKeySet rks = tree.getSelectedRowKeys();
    Iterator iter = rks.iterator();
    while(iterator.hasNext()){
    Object aKey = iterator.next();
    tree. setRowKey(aKey);
    Object rowData ? tree.getRowData();
      .... do something with the data here ...
    Frank

Maybe you are looking for