ADF Table Refresh/Commit on Delete

ADF 11g in jDeveloper 11.1.1.1.0
So, I have an ADF Table component in a panel collection. Within the collection, I added a menu with menu item to delete the current row. The delete row is not being committed. Is there a way to do a row delete in one operation?
Note:
I just drug the delete operation form the data control onto the menu item.
Action Listener: #{bindings.Delete.execute}
Partial Submit: true
Edited by: SK Jennings on Aug 13, 2009 10:14 AM
Added more info
Edited by: SK Jennings on Aug 13, 2009 10:17 AM

You can easily solve it if you just bind the table to a property in the bean as it is in the link poste by Frank.
I usually do it this way. I have not used findComponent().
My table ID is "table1".Here are a few tests I tried:
    private RichTable rt;
    FacesContext fc = FacesContext.getCurrentInstance();
    System.out.println(rt.getClientId(fc));     // returns something like this : pt1:dynam1:1:drvpc1:table1
    fc.getViewRoot().findComponent("table1");  // returns null
    fc.getViewRoot().findComponent(rt.getClientId(fc));   // returns null, I expected that one to work
    AdfFacesContext.getCurrentInstance().addPartialTarget(rt); // This one works.I hope that helps,
Valery
Edited by: Valhery on 2009-9-18 4:16

Similar Messages

  • ADF table refresh on update of database field in the background

    Hi,
    I have an ADF Read Only table based on Toplink mapping for a database table. In my scenario, one of the columns (Name) gets updated in the background (through DB adapter from ESB.
    The problem is the ADF table does not refresh to reflect the updated name, on navigating to other pages and coming back (basically page reload).
    The updated name does not reflect until I logout of the session.
    I have used the explicit refresh option for the "findALL" method used by the ADF table. I have also tried setting "NoIdentityMap" option in Toplink Identity Map.
    Please let me know how can I get the table refreshed. I'm using JDev 10.1.3.1 with Toplink.
    Rgds
    Vikas

    I have same problem, and I tried af:poll . It only works when I insert a new record or delete a new record. It doesn't work when I update records.
    I followed this example from Frank Nimphius
    http://thepeninsulasedge.com/frank_nimphius/2007/09/18/adf-faces-using-afpoll-to-refresh-a-table/
    Plus the selection action is not work at all. (My case is multiple selection).
    I just want to know is it possible using af:poll conponment to autorefresh ADF table when I update a record ?
    JDeveloper 10.1.3.3
    Message was edited by:
    xpp

  • ADF table refresh

    Hi All,
    <<Jdeveloper Studio Edition Version 11.1.2.3.0>>
    I have a ADF table with EditingMode as "click to edit", so user can edit only one row at a time.
    My requirement is as below
    1. Table should be refreshed every 5 mins
    2. If the user is in the middle of editing a particular row and the table is refreshed, the values entered by the user should not be reset.
    Is there any way of doing this.
    Thanks in advance
    Best Regards,
    bnkr

    DCIteratorBinding iter = bindings.findIteratorBinding("Iterator");
    RowSetIterator rs = iter.getRowSetIterator();
    while (rs.hasNext()){
                   Row r = rs.next();
                   r.refresh(r.REFRESH_WITH_DB_ONLY_IF_UNCHANGED);
    You need to reset your RowSetIterator because this while loop will execute only for first af:pool event.
    Also, it's not good idea to iterate through default RowSetIterator because UI components are bound to this iterator(you can iterate, but then you need to add logic to restore current row...)
    Instead, try something like this:
    RowSetIterator rs = iter.getViewObject().createRowSetIterator(null);
    while (rs.hasNext()){
        Row r = rs.next();
        r.refresh(r.REFRESH_WITH_DB_ONLY_IF_UNCHANGED);
    rs.closeRowSetIterator();
    Dario

  • ADF Table Refreshing?

    Hi,
    I have a problem with my ADF table which needs to be resolved ASAP. Somebody please help me here..Here are the details..
    I have an ADF table based on a VO.
    I Have a parameter to this view object and i am defaulting a value to this parameter
    I created a parameter form by draggign and dropping the "ExecutewithParams" operation.
    Now, when the page was loaded, the data looks good. When i change the parameter value and click on the executewithParams button, i see rows being repititive.
    When i run teh same query with these 2 parameter value in sql or Toad, i see correct results. Do i have to refresh the table or anything?
    Thanks,
    Lakshmi.

    As always, you should give us your jdev version...
    Have you tried this with -Djbo.debugoutput=console set as start parameter? This will show you the query generated when you query the VO.
    Timo

  • ADF Table refresh odd behaviour: is it a bug?

    Hi,
    I am using JDev 11.1.2.3.0.
    I found a strange behaviour of ADF table, that looks like a bug.
    I am using the following scenario:
    1). I have a page with a table on it. The table displays the VO content and all it's columns are filterable.
    2). There is another more complex filter with one parameter. The filter is always applied in addition to all existing filters and is implemented in VO implementation class by overriding the  buildWhereClause() method. The parameter value is stored in the VO as a property, and the property setter is exposed via client interface.
    3). The filter parameter value is specified using Select One Choice component, the value is stored in the pageFlowScope variable (AutoSubmit=true).
    4). The filter parameter setter is binded in the PageDef file as a method action and obtains the value from the corresponding pageFlowScope variable. When user press a button, the filter should be applied. The button has PartialSubmit=true, the table has a reference to the button in the PartialTriggers.
    Here is some code:
    // MyViewObjectImpl code fragment
    private String filter;
    public String getFilter() {
      return filter;
    public void setFilter(String filter) {
      boolean valueChanged = true;
      if (this.filter != null && filter != null) {
        valueChanged = !this.filter.equals(filter);
      this.filter = filter;
      if (valueChanged) {
        clearCache();
    // Backing bean code fragment
    private RichTable table;
    public void setTable(RichTable table) {
      this.table = table;
    public RichTable getTable() {
      return table;
    public String onApplyFilter() {
      BindingContainer bc = BindingContext.getCurrent().getCurrentBindingsEntry();
      OperationBinding op = bc.getOperationBinding("setFilter");
      op.execute();
      FilterableQueryDescriptor fm = (FilterableQueryDescriptor)table.getFilterModel();
      table.queueEvent(new QueryEvent(table, fm));
      return null;
    All works fine except for one thing: the 26-th row of the table always remains from the previous filter value. More precisely, this number equals to iterator RangeSize+1.
    Is this my fault or a bug?
    Thanks.

    Sorry, I forgot about the detailed instructions.
    1). Setup database connection to match the real DB server address, username and password.
    2). Run the ViewController project.
    3). Choose character 'a' in the filter and push "Apply". This will give the countries, ending with the letter a.
    4). Change filter to 'e' and push "Apply". This should give the countries, ending with the letter e, but in fact the second row is 'Argentina' (the first row from the previous query). Pressing the button again produces correct results.
    Thanks.

  • Issue in ADF Table Refresh

    Hi All,
    I have a requirement where I need to change the timezone and display the dates in a Table. There is a dropdown above table and as the user changes the
    timezone value ,the dates changes accordingly in the Table.
    The following steps are followed to achieve this:
    1) The following attributes are present in the DB object on which the EO(TaskTableEO) is based :
    - TASK_ID
    - TASK_NAME
    - TASK_NUMBER
    - TASK_OWNER
    - END_DATE
    - START_DATE
    - SUMMARY
    2) VO Query :
    SELECT TaskTableEO.TASK_ID,
    TaskTableEO.TASK_NAME,
    TaskTableEO.TASK_NUMBER,
    TaskTableEO.TASK_OWNER,
    test_util.convert_timezone(TaskTableEO.END_DATE,:timezone1) END_DATE,
    csf_util_pvt.convert_task_table_timezone(TaskTableEO.START_DATE,:timezone2) START_DATE,
         TaskTableEO.SUMMARY
    FROM TASK_TABLE TaskTableEO
    Note that the timezones are converted in the VO based on the bind parameter passed to the function test_util.convert_timezone. The function returns the date converted to
    the timezone specified.
    When the value is changed in the dropdown , the value change listener is called. The timezone selected is picked, the bind variables is set , executeQuery()
    is called on the VO , and the table is refreshed . But the date does not show the change in Timezone , but instead it take the default from database.
    Can you please suggest if am missing something. Also let us know if we can achieve this using some alternate method.
         Sample Code in Managed Bean:
    BindingContext bindingctx = BindingContext.getCurrent();
    oracle.binding.BindingContainer bindings = bindingctx.getCurrentBindingsEntry();
    DCBindingContainer bindingsImpl = (DCBindingContainer) bindings;
    DCIteratorBinding dciter = bindingsImpl.findIteratorBinding("TaskVO1Iterator");
    ViewObject vo =dciter.getViewObject();
    vo.setNamedWhereClauseParam("timezone1",tzId);
    vo.setNamedWhereClauseParam("timezone2",tzId);
         vo.executeQuery();
         RichPanelCollection rpc = (RichPanelCollection)ADFUtil.findComponentInRoot("taskPc");
    System.out.println("RichPanelCollection : " + rpc);
    AdfFacesContext adfCtx = AdfFacesContext.getCurrentInstance();
    adfCtx.addPartialTarget(rpc);

    Why not using declaratively dropdown to partialTrigger in table?
    However, instead of panelcollection, try refreshing table instance in code.

  • ADF view : auto commit delete  operation

    I have created a ADF table with add and delete operation. When I perform delete operation it is not committing automatically.
    Can you please suggest the way to auto commit the delete operation.
    Thanks,
    Kiran

    User,
    please always tell us your jdev version as the solution might depend on it.
    There is no auto commit in ADF. You can program it so that after an add or delete the data gets committed but there is nothing done automatically.
    if you use a bounded task flow you can drag the operation from the data control onto the task flow and navigate to it after you have done the add or delete operation.
    Timo

  • How to delete a row in ADF Table by pressing "Delete" Key

    I want to delete a row in my ADF table by pressing the "Delete" key..How can i achieve it?

    hai ,
    I write clientListener and ServerListener..But in the script i printed the event.getKeyCode() ...*When i press Delete Key or EnterKey ,it is not printing the value*..
    The code i write is pasted below..
    In the code backing_Comm is my backingbean..Is there any problem in the code that i had written?I want to delete a selected row from my table using keypress Event...pls advice..
    <script type="text/javascript">
    onPressDeleteKey=function(event){
    alert(event.getKeyCode()); // *Here i am not getting the alert, when i press Delete Key or Enter Key..But getting alert when i press A- Z or 1 - 0*
    if(event.getKeyCode()==AdfKeyStroke.ENTER_KEY) {
    var source = event.getSource();
    AdfCustomEvent.queue(source,performDeleteOnPress,{},false);
    </script>
    <*af:table* value="#{bindings.ComMastVO.collectionModel}"
    var="row"
    rows="#{bindings.ComMastVO.rangeSize}"
    emptyText="#{bindings.ComMastVO.viewable ? 'No rows yet.' : 'Access Denied.'}"
    fetchSize="#{bindings.CompMastVO.rangeSize}"
    rowSelection="single"
    id="tblCom"
    columnStretching="last" inlineStyle="width:100%;"
    width="273"
    selectionListener="#{backing_Comm.rowSelectCom}"
    binding="#{backing_Comm.tblCom}"
    clientComponent="true" >
    <*af:column* sortProperty="Com" sortable="true">
    <*af:inputText* value="#{row.bindings.Com.inputValue}"
    label="#{bindings.ComMastVO.hints.Com.label}"
    required="#{bindings.ComMastVO.hints.Com.mandatory}"
    columns="150"
    maximumLength="#{bindings.ComMastVO.hints.Com.precision}"
    shortDesc="#{bindings.ComMastVO.hints.Com.tooltip}">
    valueChangeListener="#{backing_Comm.onValueChange}"
    autoSubmit="true" >
    <f:validator binding="#{row.bindings.Com.validator}"/>
    *</af:inputText>*
    *<af:serverListener type="performDeleteOnPress"*
    *method="#{backing_Comm.goDeleteCurrentRow}"/>*
    </af:column>
    *<af:clientListener type="keyPress"*
    *method="onPressDeleteKey"/>*
    </af:table>
    =================================================
    anybody pls help??
    Edited by: Briston Thomas on Jun 3, 2009 2:25 AM

  • 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 delete a selected row from adf table

    Hi
    I am using a ADF Table to get data from the database, i need to select a specific row and then delete it how to get
    this done.
    Thanks in Advance.

    Or try this code:
    In your backing bean:
        public void deleteRows(ActionEvent actionEvent) {
            ((AppModuleImpl)getApplicationModuleForDataControl()).deleteRowEmp();
        public static Object resolveExpression(String expression)
                try
                    FacesContext facesContext = FacesContext.getCurrentInstance();
                    Application app = facesContext.getApplication();
                    ExpressionFactory elFactory = app.getExpressionFactory();
                    ELContext elContext = facesContext.getELContext();
                    ValueExpression valueExp =
                        elFactory.createValueExpression(elContext, expression, Object.class);
                    return valueExp.getValue(elContext);
                catch (Exception e)
                   ;// log you message here
                return null;
             * Get application module for an application module data control by name.
             * @param name application module data control name
             * @return ApplicationModule
            public static ApplicationModule getApplicationModuleForDataControl()
                return (ApplicationModule) resolveExpression("#{data.AppModuleDataControl.dataProvider}");
            }In your AppmoduleImpl:
        public void deleteRowEmp(){
            this.getEmpView1().removeCurrentRow();
            this.getDBTransaction().commit();
        }And another option is to expose the appmodule method as a client and bind to the jspx as a button.

  • Refreshing an ADF Table After update

    I have an ADF Table which has multiple records. I want the table should refresh after I change some field and press commit.

    Hi,
    Assuming you are using ADF Faces your can double click on the command button and add a backing bean method, in which you call the commit and then also execute (for execute query).
    Let Jdev generate the backing bean code for you and then add the execute binding manually in the page definition and then add it after the commit code in the backing bean.
    Brenden

  • ADF Desktop Integration : How to delete the table in Excel?

    Hi,
    I am using Jdev 11.1.1.3.0 and Excel 2007 for Oracle ADF DI, I had created an ADF table using pageDef file in the excel. Now I wanted to delete that table and use a different pageDef file.
    I could not find a way to delete that table.
    I deleted full row of tables and then I used different pageDef file and created a new adf table. But when I am running this version of excel, I am getting runtime exception and excel is getting corrupted.
    My question how to delete the table not corrupting the Excel.
    Thanks
    Pavan

    Pavan,,
    Welcome to OTN.
    You can delete the table by selecting the top left column (of the table) and then select delete from the ADFdi tab.
    Refer the documentation for more info.
    http://docs.oracle.com/cd/E17904_01/web.1111/e10139/get_start_dev_tools.htm#ADFDI608
    -Arun

  • Delete operation is not working to delete selected row from ADF table

    Hi All,
    We are working on jdev 11.1.1.5.3. We have one ADF table as shown below. My requirement is to delete a selected row from table, but it is deleting the first row only.
    <af:table value="#{bindings.EventCalendarVO.collectionModel}" var="row"
    rows="#{bindings.EventCalendarVO.rangeSize}"
    emptyText="#{bindings.EventCalendarVO.viewable ? applcoreBundle.TABLE_EMPTY_TEXT_NO_ROWS_YET : applcoreBundle.TABLE_EMPTY_TEXT_ACCESS_DENIED}"
    fetchSize="#{bindings.EventCalendarVO.rangeSize}"
    rowBandingInterval="0"
    selectedRowKeys="#{bindings.EventCalendarVO.collectionModel.selectedRow}"
    selectionListener="#{bindings.EventCalendarVO.collectionModel.makeCurrent}"
    rowSelection="single" id="t2" partialTriggers="::ctb1 ::ctb3"
    >
    To perform delete operation i have one delete button.
    <af:commandToolbarButton
    text="Delete"
    disabled="#{!bindings.Delete.enabled}"
    id="ctb3" accessKey="d"
    actionListener="#{AddNewEventBean. *deleteCurrentRow* }"/>
    As normal delete operation is not working i am using programatic approach from bean method. This approach works with jdev 11.1.1.5.0 but fails on ver 11.1.1.5.3
    public void deleteCurrentRow (ActionEvent actionEvent) *{*               DCBindingContainer bindings =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding dcItteratorBindings =
    bindings.findIteratorBinding("EventCalendarVOIterator");
    // Get an object representing the table and what may be selected within it
    ViewObject eventCalVO = dcItteratorBindings.getViewObject();
    // Remove selected row
    eventCalVO.removeCurrentRow();
    it is removing first row from table still. Main problem is not giving the selected row as current row. Any one point out where is the mistake?
    We have tried the below code as well in deleteCurrentRow() method
    RowKeySet rowKeySet = (RowKeySet)this.getT1().getSelectedRowKeys();
    CollectionModel cm = (CollectionModel)this.getT1().ggetValue();
    for (Object facesTreeRowKey : rowKeySet) {
    cm.setRowKey(facesTreeRowKey);
    JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding)cm.getRowData();
    rowData.getRow().remove();
    The same behavior still.
    Thanks in advance.
    Rechin
    Edited by: 900997 on Mar 7, 2012 3:56 AM
    Edited by: 900997 on Mar 7, 2012 4:01 AM
    Edited by: 900997 on Mar 7, 2012 4:03 AM

    JDev 11.1.1.5.3 sounds like you are using oracle apps as this not a normal jdev version.
    as it works in 11.1.1.5.0 you probably hit a bug which you should file with support.oracle.com...
    Somehow you get the first row instead of the current row (i guess). You should debug your code and make sure you get the current selected row in your bean code and not the first row.
    This might be a problem with the bean scope too. Do you have the button (or table) inside a region? Wich scope does the bean have?
    Anyway you can try to remove the iterator row you get
    public void deleteCurrentRow (ActionEvent actionEvent) { DCBindingContainer bindings =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding dcItteratorBindings =
    bindings.findIteratorBinding("EventCalendarVOIterator");
    dcItteratorBindings.removeCurrentRow();Timo

  • 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

  • Refreshing only the single row of  ADF Table

    Hi All,
    I have a webcenter application where the ADF Applications has been deployed.Now the Data is coming onto the ADF Tables from a webservice.In that particular table i need to refresh only the single row(whichever selected by the user to edit ) or even a particular field with the updated values as well as need to validate and to create a message box saying about the errors if the validation goes wrong.
    Please suggest!!

    Hi,
    if "updated value" mean that the value got changed on the middle tier (not the browser client) then the update requires the table to be partially refreshed. If the user edits a row and in this row has dependent fields, then this can be achieved by partially refreshing the column. Note that ADF Faces tables don't refresh just one cell
    Frank

Maybe you are looking for