First row fix in web inteface

hello,
in web interface I would maintain the heading line (first row) always fixed . What is the code JavaScript to insert?
thanks
DG

What you want is something like the freeze frame solution in Excel ..
tough boss - I have not seen it in any web template so far - would liek to know if it is possible - will be very helpful. But if it can be done through standard HTML I can definitely tell you how to do it.
One work around would be to add a frame separately - something like a sinngle column with only the first column and then another table with everything else. Set the navigation block for the second table and include the dataprovider for the first column in the affacted dataproviders list for the navigation block - you can have the same thing. But I have seen something like this inJava Applet where you can have a floating column and the rest scrolls - but no idea how to do it in BW Web Templates. Or define your table structure in BW and try the above solution of two data providers.
Arun
P.S Just thought off my hat so the unstructured response.

Similar Messages

  • How to keep the first row fixed in a JTable, with sorting, and bellow the headers ?

    I am trying to change the following code so then the fixed rows will stay on top(but below the headers!), but when I change getContentPane().add(fixedScroll, BorderLayout.SOUTH); to getContentPane().add(fixedScroll, BorderLayout.NORTH); it stays above the headers. How can I put the first rows on top, but below the headers ? Thanks.
    import java.awt.*; 
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.table.*;
    import javax.swing.event.*;
    * @version 1.0 03/05/99
    public class FixedRowExample extends JFrame {
      Object[][] data;
      Object[] column;
      JTable fixedTable,table;
      private int FIXED_NUM = 2;
      public FixedRowExample() {
        super( "Fixed Row Example" );
        data =  new Object[][]{
            {      "a","","","","",""},
            {      "","b","","","",""},
            {      "","","c","","",""},
            {      "","","","d","",""},
            {      "","","","","e",""},
            {      "","","","","","f"},
            {"fixed1","","","","","","",""},
            {"fixed2","","","","","","",""}};
        column = new Object[]{"A","B","C","D","E","F"};
        AbstractTableModel    model = new AbstractTableModel() {
          public int getColumnCount() { return column.length; }
          public int getRowCount() { return data.length - FIXED_NUM; }
          public String getColumnName(int col) {
           return (String)column[col];
          public Object getValueAt(int row, int col) {
            return data[row][col];
          public void setValueAt(Object obj, int row, int col) {
            data[row][col] = obj;
          public boolean CellEditable(int row, int col) {
            return true;
        AbstractTableModel fixedModel = new AbstractTableModel() {     
          public int getColumnCount() { return column.length; }
          public int getRowCount() { return FIXED_NUM; }
          public Object getValueAt(int row, int col) {
            return data[row + (data.length - FIXED_NUM)][col];
        table = new JTable( model );
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        table.setAutoCreateRowSorter(true);
        fixedTable = new JTable( fixedModel );
        fixedTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        fixedTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        JScrollPane scroll      = new JScrollPane( table );
        scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        JScrollPane fixedScroll = new JScrollPane( fixedTable ) {
          public void setColumnHeaderView(Component view) {} // work around
                                                 // fixedScroll.setColumnHeader(null);
        fixedScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        JScrollBar bar = fixedScroll.getVerticalScrollBar();
        JScrollBar dummyBar = new JScrollBar() {
          public void paint(Graphics g) {}
        dummyBar.setPreferredSize(bar.getPreferredSize());
        fixedScroll.setVerticalScrollBar(dummyBar);
        final JScrollBar bar1 = scroll.getHorizontalScrollBar();
        JScrollBar bar2 = fixedScroll.getHorizontalScrollBar();
        bar2.addAdjustmentListener(new AdjustmentListener() {
          public void adjustmentValueChanged(AdjustmentEvent e) {
            bar1.setValue(e.getValue());
        scroll.setPreferredSize(new Dimension(400, 100));
        fixedScroll.setPreferredSize(new Dimension(400, 52));  // Hmm...
        getContentPane().add(     scroll, BorderLayout.CENTER);
        getContentPane().add(fixedScroll, BorderLayout.SOUTH);   
      public static void main(String[] args) {
        FixedRowExample frame = new FixedRowExample();
        frame.addWindowListener( new WindowAdapter() {
          public void windowClosing( WindowEvent e ) {
            System.exit(0);
        frame.pack();
        frame.setVisible(true);

    Sorry, this code missed a very important line:
    table.setAutoCreateRowSorter(true);
    So you meant:
    Object[][] header;//class atribute
    header=new Object[][]{//in the constructor
                { "h","i","j","k","l","m"},
                { "h","i","j","k","l","m"}
    public Object getValueAt(int row, int col) {//in the TableModel
            if (row==0){
                return header[row][col];
            else {
                return data[row][col];
    I tried, but when I sort, the first row get sorted with the rest.

  • Fixed Rows/Columns in Web Interfaces

    Hello,
    Does anybody has the How to paper about Fixed Rows/Columns in Web interfaces?
    I found one link (By Olaf Fischer) that was expired.
    Thanks a lot!
    Bueno

    and here is a copy of the download link:
    <a href="For download follow the link https://sapmats-de.sap-ag.de/download/download.cgi?id=WEJDT0MZ18U0W5NXAQJU92HI46IH82UZYO7X84BH8RZ7T1V00M">For download follow the link https://sapmats-de.sap-ag.de/download/download.cgi?id=WEJDT0MZ18U0W5NXAQJU92HI46IH82UZYO7X84BH8RZ7T1V00M</a>
    Regards, Olaf

  • Fixed first row regardless of column sort

    I have a report where I need the first displayed row always be a specific row that have the input fields (like text fields and select list .. etc), all columns in report are sortable. The problem is that when user sort the report by any column, the first row that have the input fields will not be the first row anymore because of sort.
    does any one have an idea how to fix the input fields row at the top of the report (first row) regardless of sort?

    Why include the input fields in the report and not use page items at the top of the report region?

  • [Solved] 27.8.4 How to Create a VO on a REF CURSOR - Missing first row

    Searching the forum I found: BC4J - Get one less row from view object.
    Dive into BC4J related  --REF CURSOR (Resultset)
    The first message did not have any answers, and the second had a follow up question - still no answers though - and I thought I would try a different title.
    (This is off topic, but it would be a great help if the search results also displayed the number of replys in the thread. That way, I wouldn't have to view the messages that don't have responses.)
    (This will be deployed on a server that has the ADF for JDeveloper 10.1.2 installed, so using that version of JDeveloper to develop the app.)
    Okay, back to the problem ==>
    I created a VO from a ref cursor, using the manual as a guide. When I run a page that displays a read only table of the view object, I am missing the first row. (Always the first row!) I don't have any order set, and if I call the ref cursor in a Java program for testing, I see all rows and the count is correct.
    One other point, when I call the page, I get the following validation error:
    Validation Error
    You must correct the following error(s) before proceeding:
    * JBO-29000: Unexpected exception caught: java.lang.ClassCastException, msg=null
    * null
    I still see the table, it is just missing the first row of data.
    In my form I have first, previous set, next set , and last
    navigation buttons. If I press last then first, the error goes away. I still don't see the missing row though.
    Any guidance would be appreciated! I can post my code, but it is pretty much the same code in the AdvancedViewObjectExamples.zip in the ViewObjectOnRefCursor example. I just substituted my two package calls (getRefCursor and getRefCursorCount).
    Thanks, Ken

    Went back to a backup copy of the source. Fixed the error. Now I'm back to just not being able to see the first row of data.
    Additional Note: I had removed fields in the display. Once I truncated the ps_txn table in the schema defined by the model, the data would display (Still without the first record.)
    Are there any examples that are more in depth than the few pages in the developer guide?
    Here is the code for my VOImpl class:
    package newslinearchive.model.datamodel;
    import java.math.BigDecimal;
    import java.sql.CallableStatement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.sql.Types;
    import oracle.jbo.InvalidParamException;
    import oracle.jbo.JboException;
    import oracle.jbo.domain.Date;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.QueryCollection;
    import oracle.jbo.server.SQLBuilder;
    import oracle.jbo.server.ViewObjectImpl;
    import oracle.jbo.server.ViewRowImpl;
    import oracle.jbo.server.ViewRowSetImpl;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    // --- File generated by Oracle ADF Business Components Design Time.
    // --- Custom code may be added to this class.
    // --- Warning: Do not modify method signatures of generated methods.
    public class SearchRefCursorImpl extends ViewObjectImpl {
    * This is the default constructor (do not remove)
    public SearchRefCursorImpl() {
    * Overridden framework method.
    * Executed when the framework needs to issue the database query for
    * the query collection based on this view object. One view object
    * can produce many related result sets, each potentially the result
    * of different bind variable values. If the rowset in query is involved
    * in a framework-coordinated master/detail viewlink, then the params array
    * will contain one or more framework-supplied bind parameters. If there
    * are any user-supplied bind parameter values, they will PRECEED the
    * framework-supplied bind variable values in the params array, and the
    * number of user parameters will be indicated by the value of the
    * numUserParams argument.
    protected void executeQueryForCollection(Object qc,Object[] params,int numUserParams) {
    storeNewResultSet(qc,retrieveRefCursor(qc,params));
    super.executeQueryForCollection(qc, params, numUserParams);
    * Overridden framework method.
    * Wipe out all traces of a built-in query for this VO
    protected void create() {
    getViewDef().setQuery(null);
    getViewDef().setSelectClause(null);
    setQuery(null);
    * Overridden framework method.
    * The role of this method is to "fetch", populate, and return a single row
    * from the datasource by calling createNewRowForCollection() and populating
    * its attributes using populateAttributeForRow().
    protected ViewRowImpl createRowFromResultSet(Object qc, ResultSet rs) {
    * We ignore the JDBC ResultSet passed by the framework (null anyway) and
    * use the resultset that we've stored in the query-collection-private
    * user data storage
    rs = getResultSet(qc);
    * Create a new row to populate
    ViewRowImpl r = createNewRowForCollection(qc);
    try {
    * Populate new row by attribute slot number for current row in Result Set
    // populateAttributeForRow(r,0, rs.getLong(1));
    // populateAttributeForRow(r,1, rs.getString(2));
    // populateAttributeForRow(r,2, rs.getString(3));
    // MASTERID NOT NULL NUMBER
    populateAttributeForRow(r,0, rs.getBigDecimal(1));
    //ID NOT NULL NUMBER
    populateAttributeForRow(r,1, rs.getBigDecimal(2));
    // CAID NOT NULL NUMBER
    populateAttributeForRow(r,2, rs.getBigDecimal(3));
    // LANGUAGE NOT NULL VARCHAR2(30)
    populateAttributeForRow(r,3, rs.getString(4));
    // IS_CURRENT_VERSION NOT NULL NUMBER(1)
    populateAttributeForRow(r,4, rs.getBigDecimal(5));
    // FOLDER_ID NOT NULL NUMBER
    populateAttributeForRow(r,5, rs.getBigDecimal(6));
    // FOLDER_REGION_ID NOT NULL NUMBER
    populateAttributeForRow(r,6, rs.getBigDecimal(7));
    // NAME NOT NULL VARCHAR2(256)
    populateAttributeForRow(r,7, rs.getString(8));
    // DISPLAY_NAME VARCHAR2(256)
    populateAttributeForRow(r,8, rs.getString(9));
    // ITEMTYPE NOT NULL VARCHAR2(30)
    populateAttributeForRow(r,9, rs.getString(10));
    // SUBTYPE VARCHAR2(40)
    populateAttributeForRow(r,10, rs.getString(11));
    // SUBTYPE_CAID NUMBER
    populateAttributeForRow(r,11, rs.getBigDecimal(12));
    // PARENT_ITEM_ID NUMBER
    populateAttributeForRow(r,12, rs.getBigDecimal(13));
    // CATEGORY_ID NUMBER
    populateAttributeForRow(r,13, rs.getBigDecimal(14));
    // CATEGORY_CAID NUMBER
    populateAttributeForRow(r,14, rs.getBigDecimal(15));
    // AUTHOR VARCHAR2(50)
    populateAttributeForRow(r,15, rs.getString(16));
    // DESCRIPTION VARCHAR2(2000)
    populateAttributeForRow(r,16, rs.getString(17));
    // PUBLISH_DATE NOT NULL DATE
    populateAttributeForRow(r,17, rs.getDate(18));
    // EXPIREMODE VARCHAR2(90)
    populateAttributeForRow(r,18, rs.getString(19));
    // EXPIRENUMBER NUMBER
    populateAttributeForRow(r,19, rs.getBigDecimal(20));
    // EXPIREDATE DATE
    populateAttributeForRow(r,20, rs.getDate(21));
    // IMAGE VARCHAR2(350)
    populateAttributeForRow(r,21, rs.getString(22));
    // KEYWORDS VARCHAR2(2000)
    populateAttributeForRow(r,22, rs.getString(23));
    // URL VARCHAR2(4000)
    populateAttributeForRow(r,23, rs.getString(24));
    // FILENAME VARCHAR2(350)
    populateAttributeForRow(r,24, rs.getString(25));
    // TEXT CLOB()
    populateAttributeForRow(r,25, rs.getClob(26));
    // FOLDER_LINK_ID NUMBER
    populateAttributeForRow(r,26, rs.getBigDecimal(27));
    // FOLDER_LINK_CAID NUMBER
    populateAttributeForRow(r,27, rs.getBigDecimal(28));
    // ACTIVE NOT NULL NUMBER(1)
    populateAttributeForRow(r,28, rs.getBigDecimal(29));
    // CAN_BE_CHECKEDOUT NUMBER(1)
    populateAttributeForRow(r,29, rs.getBigDecimal(30));
    // IS_ITEM_CHECKEDOUT NUMBER(1)
    populateAttributeForRow(r,30, rs.getBigDecimal(31));
    // CHECKER_USERNAME VARCHAR2(256)
    populateAttributeForRow(r,31, rs.getString(32));
    // CHECKOUT_DATE DATE
    populateAttributeForRow(r,32, rs.getDate(33));
    // FULLSCREEN NOT NULL NUMBER(1)
    populateAttributeForRow(r,33, rs.getBigDecimal(34));
    // INPLACE NOT NULL NUMBER(1)
    populateAttributeForRow(r,34, rs.getBigDecimal(35));
    // CREATEDATE NOT NULL DATE
    populateAttributeForRow(r,35, rs.getDate(36));
    // CREATOR NOT NULL VARCHAR2(256)
    populateAttributeForRow(r,36, rs.getString(37));
    // UPDATEDATE DATE
    populateAttributeForRow(r,37, rs.getDate(38));
    // UPDATOR VARCHAR2(256)
    populateAttributeForRow(r,38, rs.getString(39));
    // SECURITY VARCHAR2(25)
    populateAttributeForRow(r,39, rs.getString(40));
    // VISIBLE NOT NULL NUMBER(1)
    populateAttributeForRow(r,40, rs.getBigDecimal(41));
    // SEQUENCE NOT NULL NUMBER
    populateAttributeForRow(r,41, rs.getBigDecimal(42));
    // CATEGORY_SEQUENCE NOT NULL NUMBER
    populateAttributeForRow(r,42, rs.getBigDecimal(43));
    // AUTHOR_SEQUENCE NOT NULL NUMBER
    populateAttributeForRow(r,43, rs.getBigDecimal(44));
    // CREATE_DATE_SEQUENCE NOT NULL NUMBER
    populateAttributeForRow(r,44, rs.getBigDecimal(45));
    // ITEMTYPE_SEQUENCE NOT NULL NUMBER
    populateAttributeForRow(r,45, rs.getBigDecimal(46));
    catch (SQLException s) {
    throw new JboException(s);
    return r;
    * Overridden framework method.
    * Return true if the datasource has at least one more record to fetch.
    protected boolean hasNextForCollection(Object qc) {
    ResultSet rs = getResultSet(qc);
    boolean nextOne = false;
    try {
    nextOne = rs.next();
    * When were at the end of the result set, mark the query collection
    * as "FetchComplete".
    if (!nextOne) {
    setFetchCompleteForCollection(qc, true);
    * Close the result set, we're done with it
    rs.close();
    catch (SQLException s) {
    throw new JboException(s);
    return nextOne;
    * Overridden framework method.
    * The framework gives us a chance to clean up any resources related
    * to the datasource when a query collection is done being used.
    protected void releaseUserDataForCollection(Object qc, Object rs) {
    * Ignore the ResultSet passed in since we've created our own.
    * Fetch the ResultSet from the User-Data context instead
    ResultSet userDataRS = getResultSet(qc);
    if (userDataRS != null) {
    try {
    userDataRS.close();
    catch (SQLException s) {
    /* Ignore */
    super.releaseUserDataForCollection(qc, rs);
    * Overridden framework method
    * Return the number of rows that would be returned by executing
    * the query implied by the datasource. This gives the developer a
    * chance to perform a fast count of the rows that would be retrieved
    * if all rows were fetched from the database. In the default implementation
    * the framework will perform a SELECT COUNT(*) FROM (...) wrapper query
    * to let the database return the count. This count might only be an estimate
    * depending on how resource-intensive it would be to actually count the rows.
    public long getQueryHitCount(ViewRowSetImpl viewRowSet) {
    Long result = (Long)callStoredFunction(NUMBER,
    "PORTAL.SEARCH_REFCURSOR.getRefCursorCount",
    viewRowSet.getParameters(true));
    return result.longValue();
    // ------------- PRIVATE METHODS ----------------
    * Return a JDBC ResultSet representing the REF CURSOR return
    * value from our stored package function.
    * new Object[]{getNamedBindParamValue("Email",params)}
    private ResultSet retrieveRefCursor(Object qc, Object[] params) {
    ResultSet rs = (ResultSet)callStoredFunction(OracleTypes.CURSOR,
    "PORTAL.SEARCH_REFCURSOR.getRefCursor",
    null);
    return rs ;
    private Object getNamedBindParamValue(String varName, Object[] params) {
    Object result = null;
    if (getBindingStyle() == SQLBuilder.BINDING_STYLE_ORACLE_NAME) {
    if (params != null) {
    for (Object param : params) {
    Object[] nameValue = (Object[])param;
    String name = (String)nameValue[0];
    if (name.equals(varName)) {
    return (String)nameValue[1];
    throw new JboException("No bind variable named '"+varName+"'");
    * Store a new result set in the query-collection-private user-data context
    private void storeNewResultSet(Object qc, ResultSet rs) {
    ResultSet existingRs = getResultSet(qc);
    // If this query collection is getting reused, close out any previous rowset
    if (existingRs != null) {
    try {existingRs.close();} catch (SQLException s) {}
    setUserDataForCollection(qc,rs);
    hasNextForCollection(qc); // Prime the pump with the first row.
    * Retrieve the result set wrapper from the query-collection user-data
    private ResultSet getResultSet(Object qc) {
    return (ResultSet)getUserDataForCollection(qc);
    * Return either null or a new oracle.jbo.domain.Date
    private static Date nullOrNewDate(Timestamp t) {
    return t != null ? new Date(t) : null;
    * Return either null or a new oracle.jbo.domain.Number
    private static Number nullOrNewNumber(BigDecimal b) {
    try {
    return b != null ? new Number(b) : null;
    catch (SQLException s) { }
    return null;
    //----------------[ Begin Helper Code ]------------------------------
    public static int NUMBER = Types.NUMERIC;
    public static int DATE = Types.DATE;
    public static int VARCHAR2 = Types.VARCHAR;
    public static int CLOB = Types.CLOB;
    * Simplifies calling a stored function with bind variables
    * You can use the NUMBER, DATE, and VARCHAR2 constants in this
    * class to indicate the function return type for these three common types,
    * otherwise use one of the JDBC types in the java.sql.Types class.
    * NOTE: If you want to invoke a stored procedure without any bind variables
    * ==== then you can just use the basic getDBTransaction().executeCommand()
    * @param sqlReturnType JDBC datatype constant of function return value
    * @param stmt stored function statement
    * @param bindVars Object array of parameters
    * @return function return value as an Object
    protected Object callStoredFunction(int sqlReturnType, String stmt,
    Object[] bindVars) {
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement("begin ? := " + stmt +
    "; end;", 0);
    st.registerOutParameter(1, sqlReturnType);
    if (bindVars != null) {
    for (int z = 0; z < bindVars.length; z++) {
    st.setObject(z + 2, bindVars[z]);
    st.executeUpdate();
    return st.getObject(1);
    catch (SQLException e) {
    throw new JboException(e);
    finally {
    if (st != null) {
    try {
    st.close();
    catch (SQLException e) {}
    /**Gets the bind variable value for Email
    public String getEmail() {
    return (String)getNamedWhereClauseParam("Email");
    /**Sets <code>value</code> for bind variable Email
    public void setEmail(String value) {
    setNamedWhereClauseParam("Email", value);
    /**getEstimatedRowCount - overridden for custom java data source support.
    public long getEstimatedRowCount() {
    long value = super.getEstimatedRowCount();
    return value;
    Thanks, Ken

  • How to ignore the first row in a csv import

    Hello
    This is the file we want to  add to the datamodel:
    https://www.mediafire.com/?a9xrwrwu79whu18
    (BTW this is the csv output from a neat & free software called Jstock)
    Here is an image of the problem:
    As you can see they add automatically a timestamp in the A1 cell ruining the possibility of a clean import.
    Can anyone help with a query to fix this and get the real headers?

    Hi NicoPer,
    To follow your M code. You have  this lines  #"First Row as Header" = Table.PromoteHeaders(Source).
    This mean you use first line ( the line include "timestamp=1415926728041" ) to make
    table header. So you no need to use Table.Skip function. You just use one more Table.PromoteHeaders to make second line to your table header. Below is your code:
    let
        Source = Csv.Document(File.Contents("C:\PATH\JSTOCK.csv"),null,null,null,1252),
        #"First Row as Header" = Table.PromoteHeaders(Source),
        #"Changed Type" = Table.TransformColumnTypes(#"First Row as Header",{{"timestamp=1415926728041", type text}}),
        FirstRowAsHeader = Table.PromoteHeaders(#"Changed Type")
    in
        FirstRowAsHeader
    Regards,

  • Dynamic Table in PDF - only first row passed to the WD Java

    Hi Experts,
    I'm working with Web Dynpro for Java on WAS 2004s SP13, ADS for SP13 and LiveCycle Designer 7.1
    I am facing a problem related to PDF-dynamic table generation.
    I am creating the PDF form with a dynamic table, an empty row will be added, when ADD button is clicked, the row will be deleted when DELETE button is clicked. After form submit, only first row of the table is passed to the Web Dynpro. I'v tried to use different dataSource Context node structure without results. The structure diescribed in the thread [Dynamic Table -  same data repeating in all rows;  doesnt works for me. The same happend if i try to folow the advise from Wiki https://wiki.sdn.sap.com/wiki/display/WDJava/Creating%20Table%20in%20Interacting%20form%20using%20Web%20Dynpro.
    Beside this,  my DropDown list in the table column is not populated. I know how to populate the DropDown list outside of table. That's working fine. But the DropDown in the table just not respond on the click (is not going open). I'm pretty sure that this is a result of a Context node structure/binding issue. 
    Please suggest me how can i implement dynamic table and populate the data in table dropdown column.
    Edited by: A. Mustacevic on Sep 7, 2009 12:18 AM

    Hi Prabhakar,
    You describe exactly my situation. The node which is bound to the table row has cardinality 1..n. Exactly Context structure is:
    node dataSource (cardinality 1..1/ Singleton true) ======> dataSource of the Interactive Form
    subnode TableList (cardinality 1..1/ Singleton true) ======> bound to the table in the Interactive Form
    subnode TableWrapper (cardinality 1..n/ Singleton true) ======> bound to the table row in the Interactive Form
    subnode TableData (cardinality 0..1/ Singleton false) ======> table data
    attribute 1  ====>     Context nodeattribute bound to the table row field   
    attribute 2
    This structure is recommanded in the post that I found on the Forum (see the firs hyperlink in my firs post).
    Is this structure correct? Why is not working?
    Your link is not working. Can you post the correct one.
    Thanks in advance.
    Regards
    Adnan
    Edited by: A. Mustacevic on Sep 8, 2009 1:56 PM
    Edited by: A. Mustacevic on Sep 8, 2009 1:57 PM
    Edited by: A. Mustacevic on Sep 8, 2009 2:00 PM
    Edited by: A. Mustacevic on Sep 8, 2009 2:01 PM
    Edited by: A. Mustacevic on Sep 8, 2009 2:02 PM

  • Iterator moves to first row on Timeout

    I've been finally able to reproduce an issue that has randomly popped up in my application where some of the datapoints in my page seem to point to the 'first' row and not to the 'current' row.
    Please consider the following test scenario:
    - My taskflow consists on 2 pages: the first one automatically runs a query and shows a bunch or clickable results (Parent1, Parent2, etc). Upon clicking on any of the results page #2 displays the details.
    - Page #2 is organized such that the top section shows datapoints coming from a Parent record and the bottom section render a bunch of tabs(showDetailItem) components where the children's datapoints reside.
    - Now this is the issue I'm facing: If I go to the details page for let's say row #10 I can see as expected the datapoints for Parent10 as well as its correspondent child records. So far so good but if I leave the page unattended for about an hour and then try to switch to a different tab to my surprise what I see are the children of Parent1. The end result is that the top section is pointing to Parent10 but the bottom section which is the one that was refreshed after an hour now points to Parent1 in the previous screen.
    It seems to me that I'm having a timeout issue that's causing the current ViewState to get lost.
    My web.xml session timeout setting is set for 3 hours so I don't think this is the issue. Where else should I set this value?
    Another alternative would be that regardless of the timeout setting I would like to catch this timeout event and automatically redirect the user to the login page but I'm not sure how to do this in ADF.
    Any pointers are greatly appreciated.
    Thanks,
    MV

    Hi MV,
    There are 2 places were you can set the timeout one is the web.xml and the other one is the weblogic.xml. The former takes precedence over the latter, however I think your current timeout might be cause by weblogic.xml given that your web.xml already has 3 hours. In any case if you would like to redirect to another page after timeout, you need to create a PagePhaseListener, see this blog post for an example:
    http://www.baigzeeshan.com/2011/07/how-to-automatically-redirect-to.html
    Let us know how it goes,
    Juan C.

  • Default value for first row in table after row has rendered

    I have a master-detail type page where the first row in the detail table appears with no values when the page first renders. After the user enters some data in the master area, the default value is available. I then use something like this to set the default in one column of the first row:
    MyVOImpl vo = (MyVOImpl)am.getMyVO1();
    MyRowImpl voRow = (MyRowImpl)vo.first();
    voRow.setMyAttribute("some value");
    When I do this and run the code in the debugger, I can see that the default value is stored somewhere in the row object. However, the value is not displayed in the screen.
    What must I do to get the default value to display after the user has tabbed out of the master data area, and before the user attempts to enter data in the row?

    Hi. Thanks again.
    Here is more detail of the code:
    if (pageContext.isLovEvent())
    * Form was submitted because the user selected
    * a value from the LOV modal window,
    * or because the user tabbed out of the LOV input.
    * This code executes when the event is either
    * LOV_UPDATE or LOV_VALIDATE
    String lovInputSourceId = pageContext.getParameter(SOURCE_PARAM)
    // Find out the result values of the LOV.
    Hashtable lovResults =
    pageContext.getLovResultsFromSession(lovInputSourceId);
    // Find out which LOV input triggered the event.
    if (lovInputSourceId.equals("myLovItemId"))
    String myDefaultVar = null;
    if (lovResults != null)
    myDefaultVar = "some stuff " + (String)lovResults.get("myResultItemId")
    if (myDefaultVar != null && myDefaultVar != "") // yes, this is always true in this case
    // now set the default for the first line.
    // Added lines will be defaulted by the
    // EO.create() method.
    MyVOImpl myVo = (MyVOImpl)am.getMyVO1();
    MyVORowImpl myVoRow = (MyVORowImpl)myVo.first();
    myVoRow.setAttribute("myRowItemId", myDefaultVar); // THIS LINE DOES NOT CAUSE DISPLAY TO CHANGE
    The problem, as noted in the code, is that setAtrribute() does not cause the default value to display in the field.
    What can cause this, and what can fix it?
    Edited by: user522137 on Nov 9, 2010 12:06 PM

  • 64-bit driver only returns first row of table

    I have a C++ application using ADO (the MSADO COM components) and the Oracle OLEDB provider for database access. The application works fine on a 32-bit computer using the 32-bit Oracle client and driver. However, when I run a 64-bit build of the application, running on a 64-bit computer (Windows Server 2008 x64), using the 64-bit Oracle client and driver, a SELECT operation returns only the first row of the table.
    Note that this is only happening with the ActiveX ADO components. ADO.NET is not having a problem.
    In both cases I am connecting to the same database, which is Oracle 10.2 (32-bit) running on a different server. I have tested with Oracle client 10.2.0.4 and 11.1.0.7 and got the same result in both cases.
    I have reproduced the issue with a simple table (one column, NVARCHAR2(255)) and simple code.
    In the code, I execute "select count(*) from tablename" and get the correct record count (more than one record). But when I then open the recordset ("select columnname from tablename"), ADO reports EndOfFile after I have read the first row and called MoveNext on the recordset.
    My Oracle knowledge is limited so I don't know if there are driver properties I should be checking.
    Anyone have ideas?
    Thanks in advance.

    For 10.2 it's fixed in 10204 Patch 21 and higher.
    For 11.1 it's fixed in 11107 Patch 12 and higher.
    Cheers,
    Greg

  • Only first row of a mysql table is updated

    Hi,
    I'm using Netbeans 5.5 with Visual Web Pack and trying to update data, stored in a mysql table.
    I use a dropdown list to select a row and show the data in various textfields. This works fine. The problem, that it's not possible to save changes, I enter in the textfields. Everytime only the first row of the table will be (over)written. This happens also with the derby database. I checked the tutorial about inserting, updatting and deleting, it works fine. But they use a table to make changes to the data, so the case is different from mine.
    Can anybody give me a hint? I'm going crazy ...
    Thanx in advance
    Markus

    yes this sounds crazy. i encountered similar problem with textfields. if they are numerous type, don't forget to add integerConverter to the textfield. it helped me out in my case. hope this helps
    dElay

  • Binding on an iterator always return the first row  of the Children VO...

    I have 3 pages:
    A -- tree table bound to VO A; B is used to view the detail of a row selected inside the table; Inside B there is another table that contains the childrens VO of B. Select a row in the table will launch C to view the details of the children.
    They are all in unbounded task flow.
    From A to B, it works fine: Details of selected row inside the Table of A is showing correctly.
    However, From B to C, selecting a row inside B, When C is launched, it always shows the content of the first row of the B's Children VO.
    Any idea how this can be fixed? I want C page to show the details of the row selected in B's Table.
    B's table is defined like this:
    <af:table value="#{bindings.C.collectionModel}"
    var="row"
    rows="#{bindings.C.rangeSize}"
    fetchSize="#{bindings.C.rangeSize}"
    rowBandingInterval="1"
    selectedRowKeys="#{bindings.C.collectionModel.selectedRow}"
    selectionListener="#{bindings.C.collectionModel.makeCurrent}"
    rowSelection="single"
    id="rTable"
    styleClass="AFStretchWidth"
    columnStretching="column:c1"
    autoHeightRows="20"
    contentDelivery="immediate">
    </af:table>
    How can I fix this to correctly show the details of seleted row for C?
    Edited by: user735345 on Oct 3, 2010 9:24 PM

    Hi,
    Is this code you provided for B table or for C table??
    Do you have your partial triggers set correctly?
    Regards,
    Dimitris.

  • af:table, only the first row of the table is effect

    Hi experts,
    I have an issue about using the <af:table, needs your help:
    1.The default selected line is the first line of the table(This should be ok).
    2.Only the first line can react to my manipulate, such as select one line and click delete button.
    3.While choosing the other line-->click the command button, the page will be refreshed and the selected one will turned to the first line. (Now the selected row, will be the first row). And will do nothing ,and has no action with the command button.
    I have an page OVS_Server.jspx, parts of it is :
    <af:table value="#{backVS.serverList}"
    var="row" rows="20"
    emptyText="#{globalRes['ovs.site.noRows']}"
    binding="#{backing_app_broker_OVS_Server.serverListTable}"
    id="serverListTable" width="100%"
    partialTriggers="poll1 commandButton_refresh commandButton_searchServer"
    selectionListener="#{backing_app_broker_OVS_Server.onSelect}">
    <f:facet name="selection">
    <af:tableSelectOne text="#{globalRes['ovs.site.selectAnd']}" autoSubmit="true"
    id="tableSelectOne" required="false">
    <af:commandButton text="#{globalRes['ovs.site.server.poweroff']}"
    id="commandButton_powerOff"
    action="#{backing_app_broker_OVS_Server.powerOffAction}"
    partialTriggers="tableSelectOne"
    disabled="#{backing_app_broker_OVS_Server.unreachableServer}"
    />
    <af:commandButton text="#{globalRes['ovs.site.edit']}"
    id="commandButton_edit"
    action="#{backing_app_broker_OVS_Server.editAction}"
    />
    <af:commandButton text="#{globalRes['ovs.site.delete']}"
    id="commandButton_delete"
    action="#{backing_app_broker_OVS_Server.deleteAction}"
    />
    </f:facet>
    <af:column sortProperty="ip" sortable="true"
    headerText="#{globalRes['ovs.site.serverHost2']}"
    id="column_ip">
    <af:commandLink text="#{row.ip}"
    id="commandLink_ip"
    shortDesc="#{globalRes['ovs.site.viewUpdateDetails']}"
    action="#{backing_app_broker_OVS_Server.viewAction}"
    immediate="true"/>
    </af:column>
    <af:column sortProperty="serverName" sortable="true"
    headerText="#{globalRes['ovs.site.serverName']}"
    id="column_serverName">
    <af:outputText value="#{row.serverName}"/>
    </af:column>
    </af:table>
    One JavaBean OVS_Server.java,and part of it is :
    public class OVS_Server {
    private CoreTable serverListTable;
    private VirtualServer selectedServer;
    public void onSelect(SelectionEvent selectionEvent) {
    selectedServer = (VirtualServer)serverListTable.getSelectedRowData();
    public String deleteAction(){
    if (selectedServer!=null) {
    deleteServerOper.execute();
    return "deleteServer";
    Would anyone show some lights on it?
    Thank you very much.

    Thank you for your reply!
    But the example you mentioned also has the issue like one of the comments :
    "Hi, on selecting the first row it displays the correct value, when navigating to another row still it displays the old value and not fetching the new selected row, actually I can see this on your sample screen shots... is there any way we can fix??"
    Is there any resolution?

  • Header and first column fixed in the table

    Hi,
    Our requirement is that we want to fix header and first column of the table.
    It means that when we will move right or down through scroll bar then header and first column should be fixed.
    Thanks,
    Anumit

    Hi,
    To fix header, the approach followed can be as following:
    a) Create dedicated table for header with no rows visible
    b) Set the property to FIXED (I do not rememeber proprty)
    c) Create another table with header visiblity to NONE and all data rows visible
    For First Column fix: the following approach could be tried:
    a) New Transparent container: Matrix layout
    b) 2 tables A and B adjacent to each other : B in scroll container[only horizontal scroll enabled] and both associated with same node.
    c) A will have only one column and B will have remaining columns
    regrads,
    ganga

  • Unable to refresh page when insert the first row in viewobject

    I am using JDeveloper 10g to develop a JSP page, DataAction, AppModule and ViewObject. But when I am trying to use the following code to insert the first row, the page is not getting refresh. The quite weird thing is when I insert the second row, it returns me the first row as well as the second row. And it works well when I am trying to insert the third row, forth row....
    //code in AppModule
    ViewObject vo= this.getSampleView();
    vo.insertRow(newRow);
    vo.setNewRowState(Row.STATUS_INITIALIZED);
    vo.setAttribute("STR1", str1);
    vo.setAttribute("NUMBER1",new NUMBER(1));
    vo.setAttribute("STR2", str2);
    getTransaction().postChanges();
    getTransaction().commit();
    //Note: SampleView is a simply view created from a EnityObject mapping to a single table.
    Anybody could help me? Thanks very much!

    //The following code is the method in AppModule, which is invoked when clicks on the Add Remarks button on web page.
    public void addRemarks(String strCustCode,String strRemarks,String strUserID)
    ViewObject voRemarks1 = this.getCrmCustomerRemarksView();
    ViewObject voRemarks2 = this.getCrmCustomerRemarksView();
    NUMBER newSeq = new NUMBER();
    try
    voRemarks1.setWhereClause(" CRM_CUST_CODE ='" + strCustCode + "'");
    voRemarks1.setOrderByClause(" CRM_SEQ_NO DESC");
    voRemarks1.executeQuery();
    if (voRemarks1.getEstimatedRowCount()<1)
    newSeq = new NUMBER(1);
    else
    Row row = voRemarks1.first();
    NUMBER seq = (NUMBER)row.getAttribute("CrmSeqNo");
    newSeq = seq.add(new NUMBER(1));
    SimpleDateFormat tmpLocalFormat = new SimpleDateFormat();
    Date tmpDate = new Date();
    tmpDate = Calendar.getInstance().getTime();
    tmpLocalFormat.applyPattern("yyyy-MM-dd");
    System.out.println("NGNCM003 add Remarks with " + strCustCode + "," strRemarks "," + strUserID);
    Row newRow = voRemarks2.createRow();
    voRemarks2.insertRow(newRow);
    newRow.setNewRowState(Row.STATUS_INITIALIZED);
    newRow.setAttribute("CrmCustCode", strCustCode);
    newRow.setAttribute("CrmSeqNo",newSeq);
    newRow.setAttribute("CrmCreatedBy", strUserID);
    newRow.setAttribute("CrmRemarks", strRemarks);
    newRow.setAttribute("CrmLastModifiedBy", strUserID);
    newRow.setAttribute("CrmCreationTimestamp",tmpLocalFormat.format(tmpDate));
    newRow.setAttribute("CrmLastModificationTime",tmpLocalFormat.format(tmpDate));
    getTransaction().postChanges();
    getTransaction().commit();
    catch (Exception ex)
    throw new RuntimeException("Invalid Sequence No.");
    }

Maybe you are looking for