Issue with ADF table range paging and sorting

Hello,
We have a requirement to support pagination in ADF tables. For this, we have made use of Range paging access mode in the view object level. The paging works perfectly fine with this. But we have another requirement of letting the user do a sort on the table (Yes!! The paginated table). The sort should be applied on all rows in the db and the control should return to the first row.
Applying sort as it is provided by the fwk, sorts the records in the obtained range only. So we have over ridden the Sort listener in Managed bean for this and are able to acheive the sorting of all rows through a AM method call. We are seeing a problem after this. If the sort action is applied to the key attribute then the previous and next range navigation works fine. If the same action is applied to non-key field, then some times (yea!! This is not consistent) the next set is not fetched.
Here is the code snippet that is called on Next navigation:
Map<String,Object> pfScope = AdfFacesContext.getCurrentInstance().getPageFlowScope();
Object objPageNumber = pfScope.get("pageNumber");
int pageNumber = 0;
if(null != objPageNumber)
pageNumber = new Integer(objPageNumber.toString()).intValue();
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
JUCtrlRangeBinding view = (JUCtrlRangeBinding)bindings.getControlBinding("GeDmRequestVO");
int iRange = getTable().getAutoHeightRows();
int currentPage = view.getIteratorBinding().getNavigatableRowIterator().getRangeStart()/(iRange + 1);
System.out.println("Before " + view.getIteratorBinding().getNavigatableRowIterator().getRangeStart());
System.out.println("Current : " + currentPage);
System.out.println("Page Number : " + pageNumber);
System.out.println("Range : " + iRange);
System.out.println("Value : " + iRange*(currentPage + pageNumber));
view.getIteratorBinding().getNavigatableRowIterator().scrollRange(iRange*pageNumber);
System.out.println("After " + view.getIteratorBinding().getNavigatableRowIterator().getRangeStart());
Although, the new values are not refreshed in the table, the SOPs for before and after print the proper range sizes. And as I mentioned above, the above code works perfectly fine if there is no sort applied or when key attribute is sorted.
Would appreciate your help on this regard with navigation after non-key attribute sort.
Thanks,
Chitra.

Hi Chitra,
Can you specify some links to implement RangePaging.....We need to implement pagination.If possible can you share the code or specify the steps how you achieved it.
Thanks

Similar Messages

  • Issue with ADF Table bound to a View Object Iterator??

    Can anyone say what would prevent an ADF table bound to a View Object Iterator from displaying all the records retrieved by the View Object Query?
    I ran the query directly from sqlplus and it returned 21 rows, However when i use the same exact query in my view object and display the result in a ADF table, only 10 rows are retrieved and displayed in the table ?
    Help .. Please ???

    The ADF table is actually set to use 'Include Range Navigation' and to display 20 rows each time. However, only a 10 rows are retrieved and displayed and the other 10 rows are displayed as blanks with only the Table selection radio buttons in the Select Column.
    e.g.
    Select Data1 Data 2
    o xxxxxx xxxxxx
    o xxxxxx xxxxxx
    o
    o
    o
    o
    The four 'o' are blanks even though there is data to be displayed.

  • Strange issue with ADF table in chrome browser

    I have ADF table which should display 23 rows, but only 20 rows are visible in chrome browser, but other browsers like IE, firefox displays the 23 rows correctly. I have used default ADF table with Drag&drop behaviour in this table. All the 23 rows exported correctly to Excel with export to Excel behaviour and inspect page source also shows all the rows in Chrome browser, but display in the adf is only problem in chrome browser. We're having a production issue with this, any ideas are appreciated.
    Thanks,
    Surya

    Hi All,
    Is this issue fixed yet? There are a couple of threads reporting this issue and the original thread has been Archived. It is a real issue, and it remains an issue. The Chrome browser cuts off the last row of a table in the display. IE displays the row correctly. I am working with JDev 12.1.2 and I am building an application using ADF Tables. Without exception, on every page that has one, the last row of the table is cut off from display in a very ugly way and you cannot scroll down to display the full row. I have tried wrapping the table in a Panel Collection - same result, I have tried setting the height of the table - same result. I have tried surrounding the table with a PanelGroupLayout component (layout set to scroll) - same result. I have even tried surrounding the table with a PanelHeaderComponent component, Type set to both default and Stretch - yes, you guessed it, same result! I've even put the table in the middle of a PanelStretchLayout component - but the last row is always cut off.
    This should be easy for you to reproduce, just drop a data control on a ADF page and select a table. When you view it in the Chrome browser and you will see what I'm talking about. I'm using Google Chrome version 31.0.1650.63 m.
    I have experimented with AFStretchWidth and AutoHeightRows (as suggested by previous threads), nothing seems to work.
    Here's another suggestion, if the forum would allow you to insert an image, I could actually show you what I'm talking about. Food for thought perhaps?
    Best regards,
    Nigel
    "Life's too short not to use ADF"

  • Issue with ADF:Table, always getRowIndex() is returning first row.

    Hi Friends,
    I am working on adf:table and trying to get the selected row of the table. I always get rowindex as 0.
    I am using the following code in my Bean:
    UIXTable searchTable = getEmpTable();
    FacesCtrlHierNodeBinding rowdata =
    (FacesCtrlHierNodeBinding) searchTable.getRowData(searchTable.getRowIndex());
    jsff code:-
    <af:table value="#{bindings.EmpTRVO.collectionModel}"
    var="row"
    rows="#{bindings.EmpTRVO.rangeSize}"
    emptyText="#{bindings.EmpTRVO.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.EmpTRVO.rangeSize}"
    rowBandingInterval="0" id="t2"
    contentDelivery="immediate"
    autoHeightRows="#{bindings.EmpTRVO.estimatedRowCount}"
    binding="#{pageFlowScope.Bean.EmpTable}"
    styleClass="AFStretchWidth"
    rowSelection="single"
    selectionListener="#{bindings.EmpTRVO.collectionModel.makeCurrent}">
    Please suggest !
    Thanks in advance.

    Which jdev version do you use?
    You can use the current row of the iterator the take use.
    DCIteratorBinding iterBind= (DCIteratorBinding)dcBindings.get("te stIterator"); String attribute = (String)iterBind.getCurrentRow().getAttribute("field1");Timo

  • Small issue with custom table cell editor and unwanted table row selection

    I'm using a custom table cell editor to display a JTree. Thing i notice is that when i select a value in the tree pop-up, the pop-up closes (as it should) but then every table row, from the editing row to the row behind the pop-up when i selected the value becomes highlighted. I'm thinking this is a focus issue, but it thought i took care of that. To clairfy, look at this: Before . Notice how the "Straightening" tree item is roughly above the "Stock Thickness" table row? When i select Straightening, this is what happens to my table: After .
    My TreeComboBox component:
    public class TreeComboBox extends JPanel implements MouseListener {
        private JTextField itemField;
        private TreeModel treeModel;
        private ArrayList<ActionListener> actionListeners = new ArrayList<ActionListener>();
        private Object selectedItem;
         * Creates a new <code>TreeComboBox</code> instance.
         * @param treeModel the tree model to be used in the drop-down selector.
        public TreeComboBox(TreeModel treeModel) {
            this(treeModel, null);
         * Creates a new <code>TreeComboBox</code> instance.
         * @param treeModel the tree model to be used in the drop-down selector.
         * @param selectedItem tree will expand and highlight this item.
        public TreeComboBox(TreeModel treeModel, Object selectedItem) {
            this.treeModel = treeModel;
            this.selectedItem = selectedItem;
            initComponents();
         * Returns the current drop-down tree model.
         * @return the current <code>TreeModel</code> instance.
        public TreeModel getTreeModel() {
            return treeModel;
         * Sets the tree model.
         * @param treeModel a <code>TreeModel</code> instance.
        public void setTreeModel(TreeModel treeModel) {
            this.treeModel = treeModel;
         * Returns the selected item from the drop-down selector.
         * @return the selected tree object.
        public Object getSelectedItem() {
            return selectedItem;
         * Sets the selected item in the drop-down selector.
         * @param selectedItem tree will expand and highlight this item.
        public void setSelectedItem(Object selectedItem) {
            this.selectedItem = selectedItem;
            String text = selectedItem != null ? selectedItem.toString() : "";
            itemField.setText(text);
            setToolTipText(text);
         * Overridden to enable/disable all child components.
         * @param enabled flat to enable or disable this component.
        public void setEnabled(boolean enabled) {
            itemField.setEnabled(enabled);
            super.setEnabled(enabled);
        public void addActionListener(ActionListener listener) {
            actionListeners.add(listener);
        public void removeActionListener(ActionListener listener) {
            actionListeners.remove(listener);
        // MouseListener implementation
        public void mouseClicked(MouseEvent e) {
        public void mouseEntered(MouseEvent e) {
        public void mouseExited(MouseEvent e) {
        public void mousePressed(MouseEvent e) {
        public void mouseReleased(MouseEvent e) {
            showPopup();
        private void initComponents() {
            setLayout(new GridBagLayout());
            itemField = new JTextField();
            itemField.setEditable(false);
            itemField.setText(selectedItem != null ? selectedItem.toString() : "");
            itemField.addMouseListener(this);
            add(itemField, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
                    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
        private void showPopup() {
            final TreePopup popup = new TreePopup();
            final TreeComboBox tcb = this;
            final int x = itemField.getX();
            final int y = itemField.getY() + itemField.getHeight();
            int width = itemField.getWidth() + popupButton.getWidth();
            Dimension prefSize = popup.getPreferredSize();
            prefSize.width = width;
            popup.setPreferredSize(prefSize);
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    popup.show(tcb, x, y);
                    popup.requestFocusInWindow();
        private void fireActionPerformed() {
            ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "TreeComboBoxSelection");
            for (ActionListener listener : actionListeners) {
                listener.actionPerformed(e);
        private class TreePopup extends JPopupMenu {
            private JTree tree;
            private JScrollPane scrollPane;
            public TreePopup() {
                initComponents();
                initData();
            private void initData() {
                if (treeModel != null) {
                    tree.setModel(treeModel);
            private void initComponents() {
                setFocusable(true);
                setFocusCycleRoot(true);
                tree = new JTree();
                tree.setRootVisible(false);
                tree.setShowsRootHandles(true);
                tree.setFocusable(true);
                tree.setFocusCycleRoot(true);
                tree.addTreeSelectionListener(new TreeSelectionListener() {
                    public void valueChanged(TreeSelectionEvent e) {
                        tree_valueChanged(e);
                scrollPane = new JScrollPane(tree);
                add(scrollPane);
            private void tree_valueChanged(TreeSelectionEvent e) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
                setSelectedItem(node.getUserObject());
                fireActionPerformed();
                this.setVisible(false);
    }My TreeComboBoxTableCellEditor:
    public class TreeComboBoxTableCellEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
        protected TreeComboBox treeComboBox;
        protected ArrayList<CellEditorListener> cellEditorListeners = new ArrayList<CellEditorListener>();
        public TreeComboBoxTableCellEditor(TreeComboBox treeComboBox) {
            this.treeComboBox = treeComboBox;
            treeComboBox.addActionListener(this);
        public Object getCellEditorValue() {
            return treeComboBox.getSelectedItem();
        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
            treeComboBox.setSelectedItem(value);
            return treeComboBox;
        public void actionPerformed(ActionEvent e) {
            stopCellEditing();
    }Any thoughts?
    Edited by: MiseryMachine on Apr 3, 2008 1:21 PM
    Edited by: MiseryMachine on Apr 3, 2008 1:27 PM

    As I said, you have to have empty context elements before additional rows will be open for input.
    For instance if you want to start with 5 rows available for input do the following to your internal table that you will bind:
    data itab type standard table of sflight.
    do 5 times.
      append initial line to itab.
    enddo.
    context_node->bind_table( itab ).
    The other option if you need n number of rows is to add a button to the table toolbar for adding more rows. When this button is pressed, you add a new context element to the node - thereby creating a new empty row in the table.

  • Issue with Multiple Tables in Report

    Post Author: dwessell
    CA Forum: General
    Hi,
    I'm using Crystal Reports 2k8.
    I'm doing a report with three tables, CQ_HEADER, SO_HEADER and SALESPERSON. Both the CQ_HEADER and the SO_HEADER tables link to the SALESPERSON table via a SPN_AUTO_KEY field.
    However, I always receive duplicates in my result set, due to the joins made, and I don't receive results that are valid in one table, and empty in another (Such that it only counts a CQ, if there is a SO associated with it. Here's the query that's produced by CR.
      SELECT "CQ_HEADER"."CQ_NUMBER", "CQ_HEADER"."ENTRY_DATE", "CQ_HEADER"."TOTAL_PRICE", "SALESPERSON"."SALESPERSON_NAME", "SO_HEADER"."ENTRY_DATE", "SO_HEADER"."TOTAL_PRICE"
    FROM   "CQ_HEADER" "CQ_HEADER" INNER JOIN ("SO_HEADER" "SO_HEADER" INNER JOIN "SALESPERSON" "SALESPERSON" ON "SO_HEADER"."SPN_AUTO_KEY"="SALESPERSON"."SPN_AUTO_KEY") ON "CQ_HEADER"."SPN_AUTO_KEY"="SALESPERSON"."SPN_AUTO_KEY"
    WHERE  ("CQ_HEADER"."ENTRY_DATE">={ts '2007-12-01 00:00:00'} AND "CQ_HEADER"."ENTRY_DATE"<{ts '2007-12-18 00:00:00'}) AND ("SO_HEADER"."ENTRY_DATE">={ts '2007-12-01 00:00:00'} AND "SO_HEADER"."ENTRY_DATE"<{ts '2007-12-18 00:00:00'})
    ORDER BY "SALESPERSON"."SALESPERSON_NAME"
    There is no link between the SO_HEADER and the CQ_HEADER.  Can anyone make a suggestion as to how I could go about structuring this such that it doesn't return duplicate values?
    Thanks
    David     

    Hey,
    I understand you used Retainsameconnection property true for all the OLEDB connections you used in the package if not make sure its for all the connection including file connection as well.
    Additionally, you can try to set Delayvalidation property to true for all the dataflows and control flows in the connection and try running the package for 10MB file.
    I hope this will fix the intermittent failure issue you are facing with SSIS.
    (Please mark solved if I've answered your question, vote for it as helpful to help other user's find a solution quicker)
    Thanks,
    Atul Gaikwad.

  • Problem with adf tables in dynamyc region

    Hello.
    I have a problem when use ADF tables within dynamic regions. It happens that if the table is inside the first task flow that is loaded (by default) in the dynamic region, retrieves the data perfectly, but if the table is in a second, third and so on. task flow, does not retrieve data. This happens only with adf tables and graphics, if I use a component form, for example, does not present any problem.
    Any idea that can be happening?
    I'm using Jdveloper 11.1.1.1.0
    Appreciate any ideas or help with this problem
    In iexplorer 8 gives the following error:
    Detalles de error de página web
    Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
    Fecha: Wed, 2 Dec 2009 16:17:48 UTC
    Mensaje: 'null' is null or not an object
    Línea: 1105
    Carácter: 2
    Código: 0
    URI: http://seisbd101.dgac.cl:7001/SGLadf-ViewController-context-root/afr/partition/ie/default/opt/collection-11-r1.js

    Hi,
    set the managed bean scope for the bean that switches between the regions to a scope larger as request: for example, set it to viewScope or pageFlowScope. This fixes the problem
    Frank

  • Hello Gurus..... ISSUE with child Table update

    I have an issue with child table update
    I have created a GTC with one parent table and two child tables. I'm able to update the parent table and the values are found in db, but the ISSUE is the child Table values are not updating the db.
    please give me a solution
    regards
    Srikanth

    If you are keeping referential integrity in the database, not in the application, it is easy to find the child and parent tables. Here is a quick and dirty query. You can join this to dba_cons_columns to find out on which columns the referential constraints are defined. This lists all child-parent table including SYS and SYSTEM users. You can run this for specific users of course.
    select cons1.owner child_owner,cons1.table_name child_table,
    cons2.owner parent_owner,cons2.table_name parent_table
    from dba_constraints cons1,dba_constraints cons2
    where cons1.constraint_type='R'
    and cons1.r_constraint_name=cons2.constraint_name;

  • No cell merge possible with adf table?

    i know that there is no cell merge possible with adf table.
    however i read that with trinidad table it's possible.
    my table has data like this:
    d1 - tommy - 5
    d1 - tommy - 7
    d2 - burpy - 3
    d2 - burpy - 4
    d2 - tom - 7
    now i have to merge first column (dog id) where id is same -
    d1 - tommy - 5
    --- - tommy - 7
    d2 - burpy - 3
    --- - burpy - 4
    --- - tom - 7
    i am creating this dog table thru a data control on jspx page.
    can anyone suggest some help?
    or will i have to use html table for it? i really want to avoid html.
    thanks.

    Shay Shmeltzer wrote:
    Use a pivot table or a treetable
    http://jdevadf.oracle.com/adf-richclient-demo/faces/components/pivotTable.jspx
    http://jdevadf.oracle.com/adf-richclient-demo/faces/components/treeTable.jspx
    Or use inlined iterators to layout the dataonly issue with pivot table is it doesn't display header for left columns unless u take ur cursor there.
    tree table is completely different kind of view - imo.
    didn't get much help on inlined iterators - can u plz post more details on this?
    thanks.

  • Issues with Advance Table Add Row New Row not work in some scenarios.

    Hi,
    Wondering if there's any issue with Advanced Tables where it does not create any rows. I don't know if anyone tried this or not. I have one OA Page with Advanced Table and a button that when clicked open a new OA Page in a POP-UP Window. The pop-up page conatins one textbox where u enter a data and this gets saved in one of the VO's transient attribute. Now on the ase page if you don't click a button to open a pop-up page you can Add New Rows in the Advanced Table by clicking Add Row Button. But as soon as you open a popup window and close it Add New Rows button doesn't work and is not creating any new rows. Basically page stops working. Both the POP-UP and the base page share the same AM but have different controllers.
    POP-UP page is a custom page that I open giving the Destination URI value in the button item and target frame _blank.
    I even tried creating rows programmatically for Advance Table but this too doesn't work once u open a pop-up. Also I have used pageContext.putTransactionValue in the pop-up page and am checking and removing this in the base page.
    Any help is appreciated.
    Thanks

    anyone

  • Porblem with WGXB102 (wireless range extender) and imac

    Everytime my imac sleeps it can't access the internet using the WGXB102, however I can switch directly to the router with my old setup and the internet works. The only way I get the extender to work is to reset the main netgear router. How can I get the extender to work after the computer goes to sleep?

    Yes there are some issues with the Wireless Range Extender version 3.0 ...related to IP Conflict ... but they can be resolved by upgrading the firmware of the Range Extender .....
    You can use Range Extedner version 2.0 & 3.0 ....

  • Custom paging and sorting

    Hi all,
    anybody has any experience with custom paging and sorting with oracle 10i. please help. I really appreciae if someone throw some ideas or sample code for me.
    I am working with 10i and asp.net 2.0. I just can not find any sample code for oracle.
    thanks

    CREATE OR REPLACE procedure getempscur(ecur out sys_refcursor) is
        BEGIN
         OPEN ecur for select * from emp;
       end;
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;
    public class testrefcur
        public static void Main()
            using (OracleConnection con = new OracleConnection("data source=orcl;user id=scott;password=tiger;"))
                con.Open();
                using (OracleCommand cmd = new OracleCommand("getempscur", con))
                    cmd.CommandType = CommandType.StoredProcedure;
                    OracleParameter p2 = new OracleParameter("p2", OracleDbType.RefCursor, ParameterDirection.Output);
                    cmd.Parameters.Add(p2);
                    cmd.ExecuteNonQuery();
                    OracleRefCursor rc = (OracleRefCursor)p2.Value;
                    OracleDataAdapter da = new OracleDataAdapter();
                    DataSet ds = new DataSet();
                    da.Fill(ds, 2, 5 ,"EMP",rc); // contains rows 2-7
                    da.Dispose();
                    rc.Dispose();
    }

  • OSX 10.9.1 Compatibility issue with Sharp Aquos PN-L702B and PN-L802B

    I have Mac Mini's connected to the Sharp Aquos PN-L702B and PN-L802B touch screens and after updating to 10.9.1 am experiencing what appears to be a compatibility issue with the Sharp TPM driver and the OSX 10.9.1.  
    Everything works perfectly previously on 10.8.4 and 10.8.5.  I did not test on 10.9.0 as I went straight to 10.9.1.  Anyone else having this problem?  Any thoughts on resolution?

    OK so perserverance seems to have helped here - i used the cmd R function on start up to get to the page where i can re install OS X Lion - Safari now working.
    However i have Office 2011 for MAC and now Excel wont start so i will post on another thread for help with this
    Hope this helps if anyone has a similar issue

  • Issue with Acrobat 10.1.2 and Windows 7 64-bit Preview Handler

    Hi. I work in an enterprise environment that is currently migrating to  64-bit Windows 7. The only version of Acrobat we have approved for Windows 7 is 10.1.2. We're seeing an issue with this version that causes the preview handler to not work. The preview panel in Explorer is just white and will eventually give the error "Preview handler surrogate host has stopped working."  I've tried to fix listed on http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html but that registry key is already correct. Our current work around for these users to just install Reader X1 and make it the default PDF handler, but I would like to find a better solution. Is there a known issue with Acrobat 10.1.2 and 64-bit operating systems? Or is there a way to change just the default preview handler?

    Most of the info on the web page you link to is 2-4 years old. I doubt it applies. Your workaround is actually the best solution: It's always preferred to use the latest PDF viewer. Reader and Acrobat can exist on the same machine.
    Also, why 10.1.2? There have been 6 releases since then with documented security enhancements (meaning there are also published vulnerabilities which are patched), bug fixesm, and feature enhancments.
    I'll ping some folks about the error you are getting. . .
    hth,
    Ben

  • Are there any issues with using OS X Mavericks and Premiere CC?

    Are there any issues with using OS X Mavericks and Premiere CC?

    Official statement: http://blogs.adobe.com/premierepro/2013/10/premiere-pro-and-mac-os-x-10-9-mavericks.html
    Peter Garaway
    Adobe
    Premiere Pro

Maybe you are looking for

  • General Hierachy in Report Painter

    All, Is it posible to use my own hierachy create in transaction MCK1 in Report Painter ( GRR1 / GRR2 )? If yes, how can I do it? Pat.

  • How do i transfer the songs on my IPOD to itunes on the computer?

    i have my IPOD which is full of songs, and my itunes which has no songs. I want to transfer the songs on my IPOD to itunes on the computer

  • PDF opacity lost between Toon Boom and Illustrator

    When I 'export drawing to PDF' from Toon Boom Studio 5.0 (Build 5.1.13834) the opacity is lost on the PDF. When I then open the PDF in Adobe Illustrator I get the PDF Warning 'The document contains PDF objects that have been reinterpreted: An unknown

  • Linking Text to a Loader-NEED HELP!!!!!

    I have some text, let's say it's called "Photograph 1". How do I use that text to load a .jpg image into a Loader when clicked? Should I convert the text into a symbol (button)? I can do that with no problem. I just dont know how to use that text lin

  • Reporting Period dates in tcode PFAL for generating iDoc

    Hi ALL, Please help me in understanding the reporting period dates in tcode PFAL Reporting Period 1.Today - I am assuming that records which are valid on today that is endda should be fetched - is that right what are these current month and current y