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 AMHi 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,
MiroslawHi,
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 helpYou 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.
ShahzadSomething 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
-MinaI'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,
ashokwow 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..
SurajUnwinding 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
RoyHi,
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
-
My pod is literally not breathing, no screen display no matter what, I've tried everything, wondering if there's anything I've missed :( please help
-
How to create an array with Generic type?
Hi, I need to create a typed array T[] from an object array Object[]. This is due to legacy code integration with older collections. The method signature is simple:public static <T> T[] toTypedArray(Object[] objects)I tried using multiple implementat
-
Mapping SmartLists to an ASO Reporting App - Synchronization Difficulties
For those who have never done this before, I particiularly recommend John Goodwin's blog. http://john-goodwin.blogspot.co.uk/2010/06/1112-planning-mapping-reporting.html So, in this particular regard, I'm trying to map Smart Lists to dimensions I cre
-
Suggestions for express card/cingular
I'm looking for the best options for an express card/34 for macbook pro that will work with Cingular service (only available service option for offshore in the Gulf of Mexico region). I see that Cingular will soon be offering a GT Max 3.6 express car
-
Integration Safeword with Cisco ISE
Hi, we have a Domain Integrated Safeword application, which was installed on our Domain Controller. Safeword requests were send over the Radius Port to the NPS server, and from there over Port 5040 to the Safeword application. This works without any