Trinidad Table range navigation problem

Hi,
I'm using Trinidad components, I try to display a table with range navigation but the range navigation don't work, the first range is always displayed. Must I implement some business myself?
Here is my jspx code:
<tr:table value="#{jobScheduler.userJobsTable}"
var="row"
emptyText="No rows"
rowBandingInterval="1"
rows="3">
<tr:column headerText="N°">
<tr:outputText value="#{row.job}"/>
</tr:column>
</tr:table>
The userJobsTable property is a java.Util.List.
I know that there is a param first in the table tags, but I don't know, which value I must set to it, ...
Thanks in advance.
Mike

Hi,
Trinidad question should be posted to the Trinidad mailing lists on MyFaces at Apache.org
Frank

Similar Messages

  • How to display table range navigation bar at the bottom of the tr table i

    Hello,
    While I am using trinidad, I have to face a critical issue. Can I display table range navigation bar at the bottom of the <tr table> in Trinidad? and remove the range dropdown list, only show the "previous" and "next" link? The project is critical on the UI, this problem is very small but has to be fixed? Does anyone have any ideas&#65311;

    Difficult to do?  No.
    <ul id="bottom-nav"><li><a hef="whatever.php">whatever</a></li><li class="last"><a hef="whatever2.php">whatever2</a></li></ul>
    With this CSS -
    ul#bottom-nav {
         list-style-type:none;
         overflow:hidden;
         width:70%;
         margin:0 auto;
    ul#bottom-nav li {
         float:left;
         padding-right:10px;
         border-right:1px solid #FFF;
    ul#bottom-nav li.last {
         border:none;
    ul#bottom-nav a {
         /* your styles here */

  • How to move ADF table range navigation towards left?

    Hi All,
    I am using jdev 10.1.3.4. The page I am working is showing a table with many columns. So I need to scroll horizontally to see the table navigation.
    Is there any way to move the table range navigation to the left so that I dont need to scroll?
    Can it be done with using skin selectors?
    Can anyone help me regarding this?
    --Abhijit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    If you can do it I guess you have to use skinning.
    Check out the skin selectors for af|table [http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/skin-selectors.html#Component-level%20Selectors|http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/skin-selectors.html#Component-level%20Selectors] here
    Frank Nimphius has an old blog entry [http://thepeninsulasedge.com/frank_nimphius/2007/10/02/adf-faces-hidden-skinning-nugget/|http://thepeninsulasedge.com/frank_nimphius/2007/10/02/adf-faces-hidden-skinning-nugget/] which reveals a hidden (or unknown) feature. There may be more...
    Timo

  • Dynamically changing af:table range navigation

    Hi Steve,
    I have a requirement of changing range navigation on another variable "items per page" on the table.
    1. User can select any number of items to be displayed at a time on page from a drop down with values 10,20,30 etc.
    2. I have a valueChangeEvent Bound to this drop down to set the table rows.
    public void itemsPerPageValueChange(ValueChangeEvent valueChangeEvent) {
    // Add event code here...
    if (valueChangeEvent.getNewValue() != null) {
    Integer items = (Integer)valueChangeEvent.getNewValue();
    getTable1().setRows(items);
    This happens fine on the first page i.e. On page display. But say if there are more records then the selected value
    in the dropdown, a table range navigation is displayed as expected. Now if i go to next set of records by "pressing next",
    and select a larger value from "items per page", the list is not displayed as per the selected value. i.e. if there are 16 records
    and i select 20, the display is still displaying the last six records. Only if i click "previous 10" on the table, do i get
    20 records and the range navigation for the table disappears.
    How can i control this?
    1.I mean to always display number of records as selected by the user irrespective of which range of
    records he is seeing.
    2.To display correct value in "previous" and "next" navigation controls depending on value selected by user from dropdown
    Thanks
    sameer

    Hi Steve,
    I have a requirement of changing range navigation on another variable "items per page" on the table.
    1. User can select any number of items to be displayed at a time on page from a drop down with values 10,20,30 etc.
    2. I have a valueChangeEvent Bound to this drop down to set the table rows.
    public void itemsPerPageValueChange(ValueChangeEvent valueChangeEvent) {
    // Add event code here...
    if (valueChangeEvent.getNewValue() != null) {
    Integer items = (Integer)valueChangeEvent.getNewValue();
    getTable1().setRows(items);
    This happens fine on the first page i.e. On page display. But say if there are more records then the selected value
    in the dropdown, a table range navigation is displayed as expected. Now if i go to next set of records by "pressing next",
    and select a larger value from "items per page", the list is not displayed as per the selected value. i.e. if there are 16 records
    and i select 20, the display is still displaying the last six records. Only if i click "previous 10" on the table, do i get
    20 records and the range navigation for the table disappears.
    How can i control this?
    1.I mean to always display number of records as selected by the user irrespective of which range of
    records he is seeing.
    2.To display correct value in "previous" and "next" navigation controls depending on value selected by user from dropdown
    Thanks
    sameer

  • Af:table range navigation

    Hi, i'm facing a problem...i'm using seperate af:selectRangeChoiceBar for range navigation. But sometimes the rangebar behaves wrongly, like in safari, if i slecet the range from option list, range is changing and suddenly again server trip is happening, and restoring previous range position, means calling "RangeChangeEvent" twice and sometimes by clicking next button , its jumping one range going to the range after that , like 1-10 of 100 then when clicking next going to 31-40 of 100. its happening in IE also...i have seen if i use table default range bar the first error still i'm getting in safari in somesituation. what may be the problem.the possibilities...pls help.
    thanks

    Turns out, I had forgotten that I had indeed used a rangeChangeListener, and this is in fact related to the bug when a table is displayed in Safari or Chrome, which both use the WebKit rendering engine to display web pages. I've now got a demo project with this stripped down to it's bare essentials. By the way this is ADF Faces on 10.1.3.4, not 11g, though it is possible that the problem is in Trinidad's table component too.
    It contains:
    A Model project with one read-only ADF BC View Object based on the ALL_OBJECTS dictionary view, and one Application Module referencing the VO. You can use practically any database connection - I'm using SCOTT/TIGER.
    A ViewController project with one jspx page, allObjects.jspx, that has an af:table component referencing the above VO. There is a single backing bean for this page which only contains one method - a rangeChangeListener. This simply does System.out.println to show the old and new ranges.
    Run the page with Firefox or Internet Explorer, and you will see almost the expected behavior - if I use the drop down range selection control to jump from the first set of rows to a set in the middle, say 91-100, I see:
    Range Changed from 0-10 to 90-99.
    I say "almost" the expected behavior, because I would have expected to see the starting range from 0-9 - which is what is on the screen with a zero based index.
    But if you do the same thing from Safari, you get:
    Range Changed from 0-10 to 90-99.
    Range Changed from 90-99 to 0-9.
    And that is exactly what you see on the screen - it briefly flashes with the selected range - 91-100, then returns to the original range 1-10.
    In this example, after the first range change, Safari behaves correctly, but in my actual application my rangeChangeListener manipulates the ranges, so it does it every time. Changing the range with the "Previous" and "Next" links always works correctly.
    Change the af:table component so that it doesn't reference the rangeChangeListener, and the page works correctly in all browsers.

  • Af:table range navigation and select  with rownum

    I'm trying to use af:table to display some data (long list), but the value attribute always returns the entire list. (Basic example)
    I'd like to use the range navigation so the application only select a sublist from the database (using rownum between x and y) and also display the navigation pane with all the pages, but I was only able to get the specific page with no navigation pane.
    Does anyone have a good example on how to use the range navigation with selects/rownum?

    Assuming I have an untitled1.jspx page with an Untitled1.java backing bean and an <af:table> on my page whose whose binding attribute is set to the EL expression #{Untitled1.table} to expose the table UI component in the backing bean, and a rangeChangeListener set to the EL expression #{Untitled1.onRangeChanged}, then with the following backing bean class, I seem to have been able to disable the user's picking the "Show all" option. It still appears in the list, but visually picking it stays on the current range of rows.
    package test.backing;
    import oracle.adf.view.faces.component.core.data.CoreTable;
    import oracle.adf.view.faces.event.RangeChangeEvent;
    public class Untitled1 {
      private CoreTable table;
      public Untitled1() {
      public void onRangeChanged(RangeChangeEvent rangeChangeEvent) {
        int newStart = rangeChangeEvent.getNewStart();
        int newEnd = rangeChangeEvent.getNewEnd();
        if (newEnd - newStart > getTable().getRows()) {
          int oldEnd = rangeChangeEvent.getOldEnd();
          int oldStart = rangeChangeEvent.getOldStart();
          queueRangeChangeEventForTable(newStart, newEnd, oldStart, oldEnd);
      private void queueRangeChangeEventForTable(int oldStart, int oldEnd,
                                                 int newStart, int newEnd) {
        RangeChangeEvent rce =
          new RangeChangeEvent(getTable(), oldStart, oldEnd, newStart, newEnd);
        getTable().queueEvent(rce);
      public void setTable(CoreTable table) {
        this.table = table;
      public CoreTable getTable() {
        return table;
    }

  • ADF faces tables - range navigation table footer

    Hi,
    I have a strage situation using ADF Faces' table, sometimes it displays range navigation on top and bottom of the table and sometimes only on top of the table. Is it possible to show always the range navigation on top and bottom of the table? How? If not, can someone give me an example of using an selectRangeChoiceBar to implement navigation on bottom of the table?
    Thanks in advance.
    Best Regards,
    Giuseppe

    bump

  • Table range navigator location

    Hi all,
    could I place range navigation of af:Table in the beggining or into the middle
    of this table? If so, how exactly. Thanks

    this isn't working. i tried overriding all possible id's i can find in the source.
    when i did a view source of my jsp page, this is a part of the source i see..
    &lt;div style="overflow:auto; width:100.0%; height:85.0%; margin:0.0pt auto;"&gt;&lt;form id="itmTable:_id13" name="itmTable:_id13" style="margin:0px" onkeypress="return _submitOnEnter(event,'itmTable:_id13');" method="POST" action="/fileViewer/faces/fileViewer.jsp"&gt;&lt;div id="{color:#ff0000}itmTable{color}:{color:#ff0000}mytable{color}"&gt;&lt;table cellpadding="0" cellspacing="0" border="0" summary=""&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellpadding="0" cellspacing="0" border="0" width="100%" summary="" class="x2h"&gt;&lt;tr&gt;&lt;td width="100%"&gt;&lt;/td&gt;&lt;td {color:#0000ff}align="right"{color} valign="middle"&gt;&lt;script&gt;function _navSubmit1(formName, event, id, vld, val){return _submitPartialChange(formName,vld,{event:event,source:id,value:val});}&lt;/script&gt;&lt;script&gt;function _navChoiceSubmit1(choice, formName, event, id, vld){if (!_navSubmit1(formName, event, id, vld, choice.options[choice.selectedIndex].value)){choice.selectedIndex = choice._lastValue;}}&lt;/script&gt;&lt;table cellpadding="0" cellspacing="0" border="0" summary="" id="itmTable:mytable-nb"&gt;&lt;tr&gt;&lt;td id="itmTable:mytable-nb-i" valign="middle"&gt;&lt;img src="/fileViewer/adf/images/oracle/tnavpd.gif" width="14" height="14" border="0" alt="Previous functionality disabled"&gt;&lt;/td&gt;&lt;td&gt;&lt;script&gt;t(5,1)&lt;/script&gt;&lt;/td&gt;&lt;td valign="middle" nowrap&gt;&lt;span class="x55"&gt;Previous&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;script&gt;t(5,1)&lt;/script&gt;&lt;/td&gt;&lt;td valign="middle" nowrap&gt;&lt;select title="Select record set" class="x6" onchange="_navChoiceSubmit1(this, 'itmTable:_id13','goto','itmTable:mytable',1)" onfocus="this._lastValue = this.selectedIndex" id="itmTable:mytable-nb__xc_c"&gt;&lt;option value="all"&gt;Show All 100&lt;/option&gt;&lt;option value="1" selected&gt;1-40 of 100&lt;/option&gt;&lt;option value="41"&gt;41-80 of 100&lt;/option&gt;&lt;option value="81"&gt;81-100 of 100&lt;/option&gt;&lt;/select&gt;&lt;label for="itmTable:mytable-nb__xc_c" class="x4e"&gt;Select record set&lt;/label&gt;&lt;script&gt;_setSelectIndexById("itmTable:mytable-nb__xc_c",1)&lt;/script&gt;&lt;/td&gt;&lt;td&gt;&lt;script&gt;t(5,1)&lt;/script&gt;&lt;/td&gt;&lt;td valign="middle" nowrap&gt;&lt;a href="#" onclick="_navSubmit1('itmTable:_id13', 'goto', 'itmTable:mytable',1,'41');return false" class="x54"&gt;Next 40&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;script&gt;t(5,1)&lt;/script&gt;&lt;/td&gt;&lt;td valign="middle"&gt;&lt;a href="#" onclick="_navSubmit1('itmTable:_id13', 'goto', 'itmTable:mytable',1,'41');return false"&gt;&lt;img src="/fileViewer/adf/images/oracle/tnavn.gif" width="14" height="14" border="0" alt="Select to view next set"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table class="x2f" cellpadding="1" cellspacing="0" border="0" width="100%"&gt;&lt;tr&gt;&lt;th scope="col" class="x36 x68" onclick="return _tableSort('itmTable:_id13',1,'itmTable:mytable','col2');"&gt;
    'itmTable' is the id for my subview.
    'mytable' is the id for the adf table
    what i can see from this is the text in blue (ie "right") should be overrided to "left".
    i tried everything possible in the world but no success.
    Edited by: khan379 on Oct 14, 2008 5:15 PM

  • DataScroller, table page navigation problem

    In my case I have created page with table and datascroller. I navigate from this page to another page and then back. But here is a problem. If I begin, for example, from 3rd page of data scroller and return back, the datascroller alwas positions on first page! I wold like to return on the same page (as indicated on data scroller). What is the solution?
    Regards Simy

    I am experimenting with method setFirst(int) on HtmlDataTable component. Somewhere I have noticed that page on HtmlDataScroller is defined by setFirst(int). So in the moment when I navigate to page where HtmlDataTable is, I set method parameter to appropriate value. This is done in afterPhase method of phase listener, but it obviosly does not work, because only RENDER_RESPONSE is triggered when I return to page. Questions:
    1.) Is using setFirst(int) right way?
    2.) In which phase of lifecycle should be used?
    3.) How to trigger other lifecycle phases, not only RENDER_RESPONSE?
    Regards Simy

  • Trinidad table problem with navigation

    hi all,
    i have a trinidad table on my jspx page. I set the rows size to 5 inorder to prevent all records being displayed. when there are more than 5 records we can navigate using previous and next buttons. when we click next or previous button the record that is displayed at the top of that particular range should become the current record. How can we achieve it. Pls help.
    Thnx in advance.
    Nad

    Hi Nad,
    I create my table from a VO. When I drag it from the Data Controls panel into the JSPX page, the PageDef file will be updated accordingly.
    To achieve a range paging of 5 (or whatever row count), you will need to change the RangeSize value stated in this PageDef file.
    <executables>
        <iterator Binds="SampleVO1" RangeSize="5" DataControl="SampleAMDataControl"
                  id="SampleVO1Iterator"/>
    </executables>Regards,
    Chan Kelwin

  • How to add range navigation to an ADF table ?

    Greetings,
    I have the following code:
    <af:table var="messageObject" rowBandingInterval="0" id="t1"
    value="#{chatForm.chatRoom.messages}" rendered="#{chatForm.chatRoom.messagesSize > 0}"
    summary="message table" rows="5" first="#{chatForm.first}"
    contentDelivery="immediate" autoHeightRows="5">
    I expect that once that the number of rows in the table is greater than 5 then the range navigation controls be displayed. But this doesn't happen, the table gets simply truncated displaying the last 5 rows and the other ones aren't available. What I'm doing wrong ?
    Many thanks in advance for your help.
    Kind regards,
    Nicolas

    Timo, here is what the documentation says:
    "Range Navigation
    When the list being displayed by a Table is huge, you can enable the Table to break up the list into ranges and display a single range at a time. Range controls are provided on the Table to let the user scroll to the next range, or to go back to the previous range. If the total size of the list is known, a control to let the user jump directly to a particular part of the list is also provided on the Table. Use the Table attributes "rows" and "first" to control the range navigation feature. When the user changes the range, the T able fires a RangeChangeEvent . "
    So, it apears that, as a matter of fact, there are next and prev buttons when the list is larger than that the table. Additionally, there is no any scrollbar slider as soon as the list gets bigger than the table. Last but not least, the JDeveloper's Component Palette doesn't expose any othe table type than ADF Faces one. If by "use Trinidad tables" you mean "use manually Trinidad tables", well, I'm afraid that thhis is not acceptable for a Java IDE aiming to replace NetBeans and Eclipse.
    But thank you, anyway, for your reply.
    Nicolas

  • ADF Faces: Range Navigation in af:table

    I shortly migrated my application to ADF Faces EA13.
    Now when I use range navigation in a <af:table> there appeares an option in the dropdown list, that was not there in EA11: "Show All <number of rows in the table>".
    Is there a possibility to disable this new feature? I don't want the user to select "Show All" when there are thousands of rows in the corresponding database table.
    Regards,
    Mareike

    We are working on skinning APIs to allow customization of the look-and-feel of our components.
    As for customization of individual features like this, there's always a tension between simplicity and complexity - more hooks to tweak behavior does improve flexibility in the here-and-now, but it increases complexity, makes testing the components that much harder, and also locks in API decisions that often in the long run actually decreases flexibility. I'm not saying "no" to this request, which is reasonable, just trying to give you some insight into why we don't just by default make every last thing modifiable up front.

  • The problem of table range.....?

    HI ALL~
    I use Jheadstart 9.0.5.1.9 & JSP.
    I set the LayoutStyle==>table and table range size==>30.
    When I navigate page one(1th~30th records),it show correct data in table. but the data in table doesn't correct after I navigate several next page,it not refresh and the data is old~
    How to resolve the problem?
    thank's~

    Spray Lin,
    Hmm, this is strange. Does this also occur in the Oil demo? It should not matter what the table range size is.
    Maybe the old data are still in your browser's cache. Can you try changing the browser settings so that it does not use the cache anymore (temporarily) and deleting everything that is in the cache now? You can also try using a different kind of browser, if you have one.
    Hope this helps,
    Sandra Muller
    JHeadstart Team

  • 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

  • All columns of trinidad table are not coming up on page while its running

    Hi,
    I have put two trinidad tables on my page.But while the page is run, I am unable to see all the columns of the table.Only a few columns are visible.
    Also, though there are 5 rows in teh table ,there is a lot of gap below the tablespace.So the next table comes after a very big gap.
    How to solve the above two problems? Kindly let me know your valuable suggestions.
    Regards

    Hi santosh,
    Following is my code.I am providing only one column code(similarly there are 3 more columns),along with the table code.
    <tr:table value="#{phonebeannew.inputphone}" var="row"
    rows="#{bindings.phone.rangeSize}"
    inlineStyle="height:#{phonebeannew.rownumbers + 275}px"
    id="t1" width="100%">
    <tr:column sortProperty="phonetype" sortable="false"
    headerText="phonetype"
    id="c3" width="5px">
    <tr:inputText value="#{row.phonetype}"
    simple="true">
    I gave width as 5px but it doesnt make any difference in output.
    The 'phonebeannew' is our bean and inputphone is a property of it.input phone holds the array of values for the 4 columns.
    Kindly let me know if you want any further information which I can provide
    Regards

Maybe you are looking for