Possible pagination bug in tabular form

Hi All,
Can someone reproduce the following test case on 1.6.1.00.02?
1. Create a tabular form via wisard
2. Set pagination type 'Row Ranges in select list (with pagination).
3. Set 10 rows per page
4. Insert 11 rows
5. Delete last row from the second page.
The form should show no rows and 'Previous' link is missed.

Hello Tauceef,
>> Now I got it, I was under impression that it will validate one by one row before insertion,
>> but it's going to check all the rows first, then do the insertion.
Just to clear things up, the APEX engine works exactly as you describe, but this is your problem.
The APEX engine do check\validate all the rows first, one row at a time, and only if all the rows pass validation, the DML processes kick in. The DML processes work on the entire Tabular Form record set (per page view, of course).
In order for your type of validation to work (the one that queries the database), as you want it, the validation and DML actions have to run together, row by row. This is not how things work, because it’s less efficient/optimal, and may lead to a situation where a certain row can fail validation, but other row(s) already been inserted/updated/deleted into/from the database. This could be a very tricky situation.
Vikram has suggested to rely on a database constraint, and control the APEX error message. This is possible, although I’m not sure that in this case, the Tabular Form will retain all the user changes, in case of validation error. You should check it.
Another option, which Marc hinted on, is to manipulate the G_Fxx arrays. In your case, you should loop through the new rows, compute their MD5, and make sure that all the rows have different MD5 values. This is on top of the current validation, which makes sure that the new rows do not already exist in the database.
Regards,
Arie.
♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
♦ Author of Oracle Application Express 3.2 – The Essentials and More

Similar Messages

  • Bug in Tabular form Not Exist Validation, fails when creating multiple rows

    Hi,
    I have a Not Exist validation created for a Tabular form:
       select 1 from my_table where col1 = :col1 and col2 = :col2Execution State: For created and Modified Rows
    which is working fine when a row already there in DB
    and I am trying to enter a new row with same data.
    but when there's no data and I enter two rows with same data, validation does not fire, first row should allowed to enter
    but for second row it should give error that data already exists, which is not happening.
    for example,
    let's say I have a row in DB with: 1, 2, 3
    when I try to add a new row with same data ie. 1, 2, 3 validation fires and showing error, which is fine.
    but let's say there's no data in DB and I am entering two rows with:
    1, 2, 3
    1, 2, 3
    validation is not working this time, it is allowing to enter both the rows.
    do I need to create a manual validation for this or what?
    Apex 4.1.1.00.23
    Regards,
    Tauceef
    Edited by: Tauceef on Dec 6, 2012 10:09 AM
    Edited by: Tauceef on Dec 6, 2012 11:22 AM
    Edited by: Tauceef on Dec 6, 2012 11:27 AM

    Hello Tauceef,
    >> Now I got it, I was under impression that it will validate one by one row before insertion,
    >> but it's going to check all the rows first, then do the insertion.
    Just to clear things up, the APEX engine works exactly as you describe, but this is your problem.
    The APEX engine do check\validate all the rows first, one row at a time, and only if all the rows pass validation, the DML processes kick in. The DML processes work on the entire Tabular Form record set (per page view, of course).
    In order for your type of validation to work (the one that queries the database), as you want it, the validation and DML actions have to run together, row by row. This is not how things work, because it’s less efficient/optimal, and may lead to a situation where a certain row can fail validation, but other row(s) already been inserted/updated/deleted into/from the database. This could be a very tricky situation.
    Vikram has suggested to rely on a database constraint, and control the APEX error message. This is possible, although I’m not sure that in this case, the Tabular Form will retain all the user changes, in case of validation error. You should check it.
    Another option, which Marc hinted on, is to manipulate the G_Fxx arrays. In your case, you should loop through the new rows, compute their MD5, and make sure that all the rows have different MD5 values. This is on top of the current validation, which makes sure that the new rows do not already exist in the database.
    Regards,
    Arie.
    ♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    ♦ Author of Oracle Application Express 3.2 – The Essentials and More

  • Bug?: Tabular Form function "addRow" can't handle multi-line Row Templates

    Hi all,
    i created a custom Report Template (Named Column Row Template) which creates 2 lines per Record (which in fact is 2 rows in a HTML table).
    In the APEX function initTabForm (apex_4_0.js) the sample row (f01_0000) is read and stored in gTabFormInitRow
    This is done by using a jQuery Selector like this: jQuery('#init_row_'+pRegionID) which returns only the first row of my multiline record.
    Is this behaviour intended or is it a bug? Or do i have to change my HTML structure?
    brgds,
    Peter
    Blog: http://www.oracle-and-apex.com
    ApexLib: http://apexlib.oracleapex.info
    Work: http://www.click-click.at
    Training: http://www.click-click.at/apex-4-0-workshops

    Hi Marc,
    thanks for the quick reply.
    I was afraid you would say it is intended behavior :-)
    A table per row has the disadvantage of loosing the automatic column width, i would have to set the column width to a fixed value to maintain a nice look.
    Well, thanks for the moment, i'll try to find a general solution and (if i succeed) get back to you.
    brgds,
    Peter
    Blog: http://www.oracle-and-apex.com
    ApexLib: http://apexlib.oracleapex.info
    Work: http://www.click-click.at
    Training: http://www.click-click.at/apex-4-0-workshops

  • Possible define changed at least one importance in tabular form?

    There is example of the code?

    Sorry, I’m having difficulties figuring out what it is you’re trying to do. Are you asking if it is possible to change a tabular form? If so, the answer is yes, when editing your page, you can click on the report link and start editing your tabular form definition.
    Marc

  • Tabular form on table with no p.k

    hi all
    the question i'm about to ask is basic question on creating table , and as a result of that about tabular form
    i have table like this
    IND NUMBER(2)
    COMPANY NUMBER(5)
    CLM_NUM NUMBER(15)
    VERSION_NUM NUMBER(2)
    DATE_GET NUMBER(8)
    CAR_NUMBER VARCHAR2(7)
    MISS_EXPL VARCHAR2(50)
    there can be more than one row with the same data. that's why i cannot do a primary key in this table.
    i want to create a tabular form on this table.
    the question is as follow:
    1.general question not related to tabular form.
    if there is table like in my case,which i cannot see that p.k can create with the columns that i have ,do i have to add column lets say : ID which contain consistent numbers
    which will be the p.k ? , or is it o.k to leave the table with no p.k.
    i know that in apex 1.6 is not giving an option to create table if i'm not declare a p.k , while in 3.1 it give an
    option to create with no p.k
    2. second question is : if i'm not doing a primary key is it possible to create a tabular form.
    i know that the tabular form ask for a p.k but i did not understand if it want the specific p.k of the table.
    3. if it possible(to create tabular on table not declare with tabular form) can i have a problem in the tabular form to recognize the record(row) which need to delete or update?
    4. last question: again general question about creating table
    is it by the accepted to create table which has no p.k but unique constraint like this
    create unique constraint IND ,COMPANY,CLM_NUM,VERSION_NUM ,DATE_GET,CAR_NUMBER?
    thanks for quick response!

    Hi Naama,
    Firstly, a primary key does not necessarily have anything to do with the data on the table. In most of my tables, it is just a sequential value created from a sequence and set by a trigger. In some cases, I do have non-numeric primary keys, but these are simple text fields that can never contain duplicates (for example, country codes) and which the user can not alter.
    So, I would strongly recommend that you create a primary key on your tables.
    Secondly, yes, you can create unique constraints on those fields. But note that Apex will not allow you to use that many fields as a "primary key" on any form.
    If you have records with the same values in all fields, without a primary key, Apex would not know which record was being updated.
    Andy

  • Wizard for Tabular Form Region

    Is it possible to generate a tabular form using a wizard into a new region on an existing page where other regions of various types exist?
    I have a page with a region for capturing details of a call. There are other regions on the page that hold information relating to the call, e.g. reasons for the call, requirements of the call, and actions performed relating to the call. These are all one-to-many relationships from the call, with links between each other, i.e. an action can be linked to a particular reason for the call. This all works fine.
    What I would like to do is to replace some of the reporting regions (e.g. reasons,requirements and actions) with tabular forms (currently to modify entries in these reporting regions, I use the standard column link functionality to another page containing the maintenance form).
    Thanks.

    Hi,
    I have the same problem. Have you found a solution?

  • Changing tabular form column to checkbox

    I have a tabular form in 3.2. There is a column that is a text field, but really should be a checkbox. I have tried changing the region source to something like, select a, b, APEX_ITEM.CHECKBOX(3, PRIMARY FLAG) "PRIMARY_FLAG", d
    from my_table
    WHERE a = :P52_XPROD, but the column still shows up as a text field, displaying a value like "<input type="checkbox" name="...etc.
    Is it possible to change a tabular form column to a checkbox in 3.2?

    edit your report attributes, then edit your column and change "display as" to "standard report column"
    Thanks
    Tauceef

  • A default value in tabular form

    Hi all,
    I have a simple tabular form, and i'd like that if a certain field doesn't contain any value to fill it with a default value.
    I tried to do it via default value attribute, but i'd like it to take place in a certain record in the table and not in all the records (which i can identify by a key, e.g. id)
    how would you do it????
    Liron

    Hello Liron,
    >> when i submit the page, it doesn't take the default value (which indeed appear on screen) but null
    Well, if this default value is the only “change” in this row, it will not be updated into the table, because the tabular form mechanism is not detecting any changes in this row – remember, as far as the tabular form goes, this is the original value of the cell.
    However, it seems like you want this default value to be saved, regardless of other possible activities of the tabular form. In this case, you should run the update prior to rendering the tabular form. You can use a before header PL/SQL block to do that. Using the EMP example, you can use a similar code in your pl/sql block:
    update emp
    set comm = 10
    where comm is null and deptno=20This pl/sql block will run prior to your tabular form query, and all the updates will be reflected in the rendered result. Now you can continue to work with the tabular form to enter the rest of the changes you need (including deleting the new default values).
    Don’t forget to change the tabular form query back to its original form. If you are using this technique, you don’t need the CASE statement.
    Regards,
    Arie.

  • Tabular Form with Popup List Error

    hi,
    am using javascript to display Department Name when Deptno is changed in the Popup List
    am getting message from Popup Item (DEPTNO) (Htlm Form Element Attributes -> onchange="getDname(this); ")
    but am not getting message from popup Item in the Tabular Form ,
    am calling same javascript funtion in both the Popup Item(Column Attributes/Element Attributes->onchange="getDname(this); ")
    but am getting message from LOV item in the tabular form, am calling same function (Column Attributes/Element Attributes->onchange="getDname(this); ")
    u can check from the following URL:-
    http://apex.oracle.com/pls/apex/f?p=17935:12
    Username/Password : test/test
    Is there an setting i need to change in Popup Item in Tabular Form?

    Still nobody knows what the bug in Tabular Form
    CAN ANY ONE HELP ME ?

  • Tabular forms based on pipelined functions - can it be done?

    Hi there,
    Pipelined functions are great, specially when you want to encapsulate the access to tables instead of just SELECTing from them (what I am doing a lot in my current project.)
    However Apex 4 does not like them, at least not for tabular forms...
    I want to handle myself the update/insert/delete process, so I don't need the MRU default functionality (all the access to the data is via APIs). But at the same time I want to just SELECT from my pipelined function and set the item types using the builder interface as with any tabular form (without having to use the apex_item API). Also I want to be able to use tabular form validation.
    To start with, you can only create a tabular form based on a table or view. To overcome this issue, I created a dummy view with the fields I wanted and created my tabular form on it. Then I changed the FROM clause to FROM TABLE(myfunction). It didn't work as it seems it tries to select the ROWID for each row... Of course my pipelined function doesn't return one but I don't need one anyway as I will be doing the data manipulation myself based on the PK.
    For this to work, I had to create a collection, populate it with the result of the pipelined function in a page process every time the page is loaded, create a view on that collection and base the tabular form on the view... A lot of work and overhead for something that should be very simple in principle.
    Then, I found out that if I remove the default MRU process that is automatically created, the tabular form validations stop working (as I posted in another thread). So I have to leave a "dummy" MRU process there with condition = never for it to work.
    The application I am working on is all based on API calls and pipelined functions so all this work has to be repeated for each tabular form that is needed.
    If it was possible to base a tabular form directly on a pipelined function it would be such an elegant solution.
    Is there a better way to implement this? Shouldn't Apex be more compatible with pipelined functions? (at least in regards to tabular forms, they work well with normal forms, reports, LOVs etc)
    Thanks
    Luis

    As I mentioned before, I don't handle inserts (well, I cheat).... On my page, there is a form to set up a request - prompts for a few things, and when submitted, calls a stored procedure:
    :P2_REQUEST_RESULT := Simon.Apex_Campus_Guest.Setup_Request(:P2_GROUP_NAME,
           :P2_COAS_ORGN, :P2_START_DATE, :P2_END_DATE, :P2_Quantity, :P2_Generic_Names);
    Which creates an APEX collection, which in turn is made visible via a pipelined function turned into a view:
    create or replace view Apex_Campus_Guest_Request_va as
    select seq_no,
            user_name,
           group_name,
            comments
      from table ( Apex_Campus_Guest.Request_Result )
    I have a second region which is tabular form on a query - conditional on select 1 from Simon.apex_campus_guest_request_va (the view defined above).
    When this submitted, I have standard MRU and MRD processes (Seq_No is the primary key). This then runs into the appropriate trigger - the update trigger is as follows:
    trigger Apex_Campus_Guest_Req_Upd
    instead of update on Apex_Campus_Guest_Request_va
    for each row
    declare
            cg_rec  campus_guest_maint.rec;
    begin
            cg_rec := Campus_Guest_Maint.Request(
                            name => :new.user_name,
                            group_name => :new.group_name,
                            comments => :new.comments);
    end;I don't know off hand why it isn't asking for a rowid - but may be that I specified a PKEY column. The insert case fails, as it tries to add a "Returning" statement in the original select. I actually find that annoying as a function is defined to allocate the PKEY from a sequence, so it doesn't need to ask for it that way.

  • Can tabular form handle CLOB?

    Hey,
    I just came up the next problem: I have a tabular form with one column being a textarea with type CLOB, when i try to fill in text that is over 4000 then it gives me the next error:
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 6556, maximum: 4000
    I can't find anyone else with the same problem, Is it just me or is this not possible?
    Kind regards,
    Oli

    Nicolette wrote:
    Pars
    PARS wrote:
    Hi Nicolette,
    Yes i'm creating dynamic action on page load for add row but it create only one row
    In your javascript are you using a loop to run add_row as many times as needed?
    Somthing like
    l_no_rows = apex.item('P_YOUR_ITEM').get_value; 
    for (var i=0;i<l_no_rows;i++) 
    add_row; 
    Where P_YOUR_ITEM is a hidden item that holds the number of rows that need to be added.
    PARS wrote:
    it is possible by creating manual tabular form but it add row which are null not maps parent field reference
    If your using a manual tabular form than the default values have to be set by you the moment you create the new row.
    So either as parameter in apex_collection.add_member or as a value in the select statement.
    Nicolette
    Are you referring to apex internal add row js function? because there is nothing called add_row
    it is addRow and it should be called as below in the DA:
    addRow();

  • Error 20001 in Tabular Form, possible bug?

    Hi everybody.
    I've got the error
    "Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process."
    using a built-in tabular form with normal MRU process.
    The problem occur when i apply a format mask or a css style to a single element (i.e. "999G999G999G999G990D00" and "class=grey disabled" in element attributes)
    Whitout formatting, the submit process works fine.
    I think that this could be correct for the mask, in effect we "change" data received from query. But why we have error also adding only CSS style?
    In any case, it's possible to apply a format in a tabular form and have the submit process working fine?
    Thanks.
    Roberto
    Some more info:
    if i put "style="background-color:#D4D4D4;" in element attribute it's all ok.
    if i write "class=grey disabled" calling a css class from an uploaded css file i got the error.
    Bye
    Edited by: pnnrrt64 on 25-mar-2009 15.05
    Edited by: pnnrrt64 on 25-mar-2009 16.28

    Hi,
    This is not a bug, but a "feature" of browsers. When input items are disabled, they are not submitted with the form. This causes problems with the checksums that are performed when the page is loaded and when the records are checked to see which records need updating - as there are a different number of fields, the checksums are always different, hence the error message.
    The way around this, assuming that you need disabled items, is to enable them immediately before the submit takes place. Have a look at the enableItems() part of: Re: A better method of handling tabular forms with variable column type?
    Andy

  • Add row to tabular form pagination problem when sorted

    Hi,
    I have a problem with a tabular form that has various sortable columns. If the user tries to add a row when the sort order is set to something where possibly the nulls are appearing first in the list, then the user cannot enter any data (since the last page of results is always shown after clicking the add row button).
    I know the empty record is in the list somewhere since the pagination page count is increased by 1, but there is no way for the user to enter data into that record since traversing back pages then removes the empty record. How can I fix this? Is it possible to programatically reset all column sorting?
    Cheers!

    Hi,
    Sort orders in reports are stored as user preferences - these can be removed using PL/SQL. Have a look at: Need to do column SORTING only when I click the column heading and Re: Default sort and pagination placement not working in reports
    Or, you could try adding a blank row in your SQL statement itself: Problems With "Add A Row"
    Andy

  • Problem in tabular form based on dynamic view and pagination

    Hi All,
    I have a manual tabular form based on a dynamic view. The view fetches the records based on search criteria given by the user in all cases. But this view fetches ALL records when user clicks on pagination, without considering the search criteria. This is the problem I am facing.
    I am doing the following:
    Since tabular form does not support pl/sql function returning query, I cannot use a table directly. I need my results based on search criteria selected by user. Hence I created a dynamic view and used a "INSTEAD OF UPDATE" trigger to update the table.
    I use a set bind variables procedure, on load before header for setting the variables.
    This view fetches the correct data based on user search always. It creates a problem only in one situation, when using pagination in the report.
    The example can be found at:
    http://apex.oracle.com/pls/otn/f?p=19399:1:
    username = [email protected]
    pwd = kishore
    Here if "manager name" is entered as test, we get 5 records in "Summary of requests" report and 5 records in "Inactive Requests" report. When user clicks on Pagination in any of the reports, ALL the 7 records get fetched in "Summary of Requests" and 6 records in "Inactive Requests". How can I overcome this problem?? The report must consider the search variables even when pagination occurs.
    Is this because, the inbuilt "html_PPR_Report_Page" executes the region query once again by considering all search variables as NULL?
    Backend Code is at:
    http://apex.oracle.com/pls/otn/
    workspace: sekhar.nooney
    Username :[email protected]
    pwd: kishore
    application id = 19399
    My region code is something like:
    select *
    from regadm_request_v
    where access_type = :F110_REGADM
    and status <> 'INACTIVE'
    order by request_id
    My view code is:
    CREATE OR REPLACE VIEW REGADM_REQUEST_V
    AS
    SELECT *
    FROM REGREGOWNER.REGADM_REQUEST
    WHERE upper(employee_name) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_EMPLOYEE_NAME),'%')||'%'
    AND upper(manager_name) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_MANAGER_NAME),'%')||'%'
    AND upper(employee_sunetid) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_EMPLOYEE_SUNET_ID),'%')||'%'
    AND upper(manager_sunetid) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_MANAGER_SUNET_ID),'%')||'%'
    AND upper(request_date) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_REQUEST_DATE),'%')||'%'
    AND upper(USAGE_AGREEMENT_RECVD) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_USAGE_AGREMNT_RECVD,'~!@',NULL,REGADM_REQUEST_PKG.GET_USAGE_AGREMNT_RECVD)),'%')||'%'
    AND upper(STATUS) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_STATUS,'~!@',NULL,REGADM_REQUEST_PKG.GET_STATUS)),'%')||'%'
    AND upper(REQUEST_APPROVED) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_REQUEST_APPROVED,'~!@',NULL,REGADM_REQUEST_PKG.GET_REQUEST_APPROVED)),'%')||'%'
    AND upper(nvl(APPROVAL_DATE,sysdate)) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_APPROVED_DATE),'%')||'%'
    AND upper(APRVL_REQUEST_SENT) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_EMAIL_APPROVERS,'~!@',NULL,REGADM_REQUEST_PKG.GET_EMAIL_APPROVERS)),'%')||'%'
    AND upper(NOTIFY_APPROVED) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_APPROVAL_NOTIFICATION,'~!@',NULL,REGADM_REQUEST_PKG.GET_APPROVAL_NOTIFICATION)),'%')||'%'
    I would be glad for any suggestions.
    Andy/Varad any ideas? You both helped me a lot on my problems for the same application that I had faced before in More Problems in Tabular form - Please give me suggestions.
    Thanks,
    Sumana

    Hi Andy,
    The view and the package for setting bind variables work properly in my entire application other than the pagination. A pity that I came across this only now :(
    I have used this same method for holding variables in another application before, where I needed to print to PDF. I used this approach in the other application because my queries were not within the APEX character limit specified for the "SQL Query of Report Query shared component".
    In this application, I initially had to fetch values from 2 tables and update the 2 tables. Updateable form works only with one table right? Hence I had created a view. Later the design got changed to include search and instead of changing the application design I just changed the view then. Still later, my clients merged the 2 tables. Once again I had just changed my view.
    Now, I wanted to know if any method was available for the pagination issue (using the view itself). Hence I posted this.
    But as you suggested, I think it is better to change the page design quickly (as it would be much easier).
    If I change the region query to use the table and the APEX bind parameters in the where clause as:
    SELECT *
    FROM REGADM_REQUEST
    WHERE upper(employee_name) LIKE '%'||nvl(upper(:P1_EMPLOYEE_NAME),'%')||'%' .....
    I also changed the ApplyMRU to refer to the table.
    Here the pagination issue is resolved. But here the "last Update By" and "Last Update Date" columns do not get updated with "SYSDATE" and "v(APP_USER)" values, when update takes place. Even if I make the columns as readonly text field, I am not sure how I can ensure that SYSDATE and v('APP_uSER') can be passed to the columns. Any way I can ensure this? Please have a look at the issue here: http://apex.oracle.com/pls/otn/f?p=19399:1:
    I have currently resolved the "last update" column issue by modifying my view as:
    CREATE OR REPLACE VIEW REGADM_REQUEST_V
    AS
    SELECT *
    FROM REGADM_REQUEST
    I modified my region query to use APEX bind parameters itself as:
    SELECT *
    FROM REGADM_REQUEST_V
    WHERE upper(employee_name) LIKE '%'||nvl(upper(:P1_EMPLOYEE_NAME),'%')||'%' .....
    And I use the "INSTEAD OF UPDATE" trigger that I had initially written for update. The code is:
    CREATE OR REPLACE TRIGGER REGADM_REQUEST_UPD_TRG
    INSTEAD OF UPDATE
    ON REGADM_REQUEST_V
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    UPDATE REGREGOWNER.REGADM_REQUEST
    SET MANAGER_EMAIL = :NEW.MANAGER_EMAIL
    , EMPLOYEE_EMAIL = :NEW.EMPLOYEE_EMAIL
    , STATUS_UPDATE_DATETIME = SYSDATE
    , USER_UPDATE_ID = (SELECT v('APP_USER') FROM DUAL)
    WHERE REQUEST_ID = :OLD.REQUEST_ID;
    END;
    Please let me know how I can resolve the "last update" column issue using the table itself. (Just for my learning)
    Thanks,
    Sumana

  • How to save the edit data temporarily in tabular form while pagination

    Hi,
    I need to hold the edit data temporarily before final submitting the page in apex 4.0 tabular form while navigating the row pagination.
    well i am expecting some easiest method.
    Saroj

    I think you have to read about apex collection.

Maybe you are looking for