Jtable return value of selecte row

Hy
I try to return from a class the value of the row selected in a Jtabel by mouse in an other caller class
Now I try a code like this :
table.addMouseListener (new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
JTable target = (JTable)e.getSource();
int row = target.getSelectedRow();
return row; // not possible
how can I take the value of row by return statement ?
thanks in advance
Dan

Don't use a MouseListener, use a SelectionListener: that's what it's for.

Similar Messages

  • POPUPKEY_FROM_QUERY returning value to wrong row

    Hi,
    I'm running Apex 3.0.1. I have a tabular report that I'm trying to add a popup from query that returns the key/code value (instead of the display value).
    I can call the pop-up okay, but it's returning the value to the wrong table row. I can see in the naming of the Javascript functions that it's looking at the wrong row. For example, here are 4 rows in display order and the names of the Javascript function calls:
    1. javascript:genList0_f15_1()
    2. javascript:genList0_f15_3()
    3. javascript:genList0_f15_2()
    4. javascript:genList0_f15_0()
    I can see in the function call that it's passing an index that doesn't match the displayed row number here:
    "&p_element_index=" +  escape ('1') + So if I click on the LOV icon for row 1 and select one of the LOV values, it will return the value to the second displayed row (zero-based index).
    I've read here of some issues with not having all rows make the call (e.g. in this post from Patrick Wolf date_popup returning value to wrong row but all my rows have values.
    The tabular report allows sorting by column headers, which I would guess is (at least part of) what's messing the function numbering? The query generates the rows, including the function calls, but the report displays in a different order?
    Any suggestions would be greatly appreciated.
    Thanks,
    Stew
    Good luck,
    Stew
    My Oracle Community blog: http://www.oraclecommunity.net/profiles/blog/list?user=stewstryker

    Christina,
    You hit the nail on the head! The tabular form region was defined as SQL Query - without the Updateable part! I'm not sure why I didn't have it that way from the start...
    Now I just have to find and implement the Javascript that will copy the updated value that's returned by the LOV to the correct column (defined as apex_item.text). That was the only way I could figure how to allow the user to enter a value directly or select from a LOV. Clumsy but functional I believe!
    Thanks to you and Scott for the tips.
    Stew

  • Get values from selected row in a Table?

    Hello.
    I'm on VC 7.1 (the trial version downloaded from SDN).
    I'm trying to figure out a way to retrieve some values from the currently selected row in a Table element through the output connector.
    I have a web-service which returns results to the Table, and I want the user to be able to select one of the rows and then trigger another web-service call with some of the values from that row -- is this possible?
    Also, I can't find any documentation that lists what can and can't be done with each UI element, is there something like this some where? (the Modeler's guide doesn't help, and the Reference guide seems to focus on menu items and what the VC screen looks like)
    Thanks,
    Alon

    Hi Alon
    This is a very simple task.
    You just need drag the service which you want to execute, after select row, in model.
    Drag output connector from table to input connector of service. Then map the parameter.
    Regards
    Marcos

  • Display and return value in select list.

    hi,
    i want to display the value in select list coming from this quary .
    select student_id from class_record where class_id =:p1_class_id and SECTION =:p1_section
    minus
    select student_id from STUDENT_TYPE_DETAILS where class_id =:p1_class_id and SECTION =:p1_section;
    but i want f_name and last name with student_id .f_name and l_name store in table s_per_det.student is also in that table.
    how can i define display value and return value in this quary using 3rd table s_per_det.
    How can i do this.
    Thanks
    manoj

    Ooh, MINUS.... Can you not use a NOT EXISTS in this case, could have a big effect on the execution plan?
    Something like this perhaps?
    SELECT f_name||' '||l_name,
           stundent_id
    FROM class_record a,
         s_per_det b
    WHERE a.student_id = b.student_id
    AND   a.class_id   = :P1_CLASS_ID
    AND   a.section    = :P1_SECTION
    AND   NOT EXISTS(SELECT 'X'
                     FROM student_type_details c
                     WHERE a.student_id = c.student_id
                     AND   c.class_id = :P1_CLASS_ID
                     AND   c.section = :P1_SECTION)Cheers
    Ben
    http://www.munkyben.wordpress.com
    Don't forget to mark replies helpful or correct ;)

  • JTable and getting the selected Row to display

    Hi,
    I am pasting a code below, in this code i am highlighting one row when loading the table, but since this Row is last, it does not get displayed unless the user scrolls down,
    how can i make this row displayed, when i load the table first
    I m using jdk1.4.1
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    public class TestTableSelect extends JFrame
         public TestTableSelect(String input)
         super("Table select");     
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         getContentPane().add(getTable(input));
         setSize (650, 250);
    setVisible(true);
              private JPanel getTable(String input)
              JPanel panel = new JPanel();
              panel.setLayout(new BorderLayout());
              panel.setPreferredSize(new Dimension(100, 250));
              Vector data = dataVector();
              Vector column = headVector();
              JTable table = new JTable(data, column);
              table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
              table.getTableHeader().setReorderingAllowed(false);
              table.getTableHeader().setResizingAllowed(false);
              table.setSelectionBackground(Color.cyan);
              table.setRowSelectionInterval(0,getSelectedIndex(data, input));
              javax.swing.JScrollPane scrollPane = new JScrollPane(table);
              table.setPreferredScrollableViewportSize(new Dimension(650, 150));
              panel.add(scrollPane, BorderLayout.NORTH);
              return panel;
         private Vector dataVector()
              Vector data = new Vector();
              for ( int i = 0; i < 20; i++)
                   Vector data1 = new Vector();
                   data1.add("ABC");
                   data1.add("This is testing");
                   data1.add(" ");
                   data1.add(" ");     
                   data.add(data1);
                   Vector data1 = new Vector();
                   data1.add("DEF");
                   data1.add("This is testing");
                   data1.add("1");
                   data1.add("1");     
                   data.add(data1);
              return data;
         private Vector headVector()
              Vector column = new Vector();
              column.add("Name");
              column.add("Description");
              column.add("Default");
              column.add("Firm");
              return column;
         private int getSelectedIndex(Vector data, String key)
              for(int i = 0; i < data.size(); i++)
                   Vector data1 = (Vector)data.get(i);
                   if(((String)data1.get(0)).trim().equalsIgnoreCase(key))
                   return i;     
              return 0;
         public static void main(String args[])
         new TestTableSelect("DEF");

    table.scrollRectToVisible(table.getCellRect(table.getSelectedRow(), 0, true);Put this after your table.setRowSelectionInterval(0,getSelectedIndex(data, input)) .
    //David

  • Date_popup returning value to wrong row

    I have looked at the thread below and still cannot get my code to work
    Re: prevent certain rows in updateable report from being updated??
    I have a tabular form that is used for a mass approval system for managers. In this tabular form the managers are allowed to change 2 fields...that status field which is a static lov and the approval date field. The approval date field will always be null when the user comes into the form so we have this field set automatically to the sysdate. The problem we are encountering is that when we change the date field to something other than sysdate the system will send the new date from the date picker to a different row. I found the thread above and tried to implement it in my code but it is still returning the data to the wrong row. I was trying to decipher the code and wasn't really sure about it so I thought I would put my code here in hopes that someone could help me. (NOTE - I don't really need the decode statement for the date_popup but if I didn't have it I would get an error so the first part of my decode statement shouldn't ever be hit cause we don't have an approval status of P.
    Query Code
    select
    HTMLDB_ITEM.HIDDEN(1,EVAL."EVAL_ID") EVAL,
    EVAL."EVAL_ID" EVAL_ID_DISPLAY,
    HTMLDB_ITEM.SELECT_LIST(2,nvl(EVAL.APPROVE_MID,'Y'),'Approve;Y,Deny;N') MID_STATUS,
    EVAL."EMP_ID",
    EVAL."MID_BEHAVIOR_TOT_AVG",
    EVAL."MID_PERF_TOT_AVG",
    EVAL."FNAME" || ' ' || EVAL."LNAME" NAME,
    EVAL."LOCK_FLAG_MID",
    NVL(EVAL."SUPERVISOR_NAME", ' ') SUPERVISOR,
    decode(EVAL.APPROVE_MID,'p',htmldb_item.text(3,to_char(eval.approve_mid_date,'dd-mon-yyyy'),null,null,'onfocus=this.blur()')||substr(htmldb_item.date_popup(3),1,0),htmldb_item.date_popup(3,NULL,NVL(eval.approve_mid_date,SYSDATE),'dd-mon-yyyy')) mid_date
    from "#OWNER#"."EVAL", "#OWNER#"."EMPLOYEE", "#OWNER#"."TEMP_EMP"
    WHERE EMPLOYEE."SUPERVISOR" = (SELECT POS_NUM FROM EMPLOYEE WHERE TEMP_EMP.CENUM = :APP_USER AND EMP_ID = TEMP_EMP.EMP_ID) AND EMPLOYEE.EMP_ID = EVAL.EMP_ID
    Custom Submit Code
    for i in 1..htmldb_application.g_f01.count
    loop
    update eval
    set approve_mid = htmldb_application.g_f02(i)
    where eval.eval_id = htmldb_application.g_f01(i);
    commit;
    IF :P72_DATE_OVERRIDE IS NULL THEN
    update eval
    set approve_mid_dATE = htmldb_application.g_f03(i)
    where eval.eval_id = htmldb_application.g_f01(i);
    commit;
    ELSE
    update eval
    set approve_mid_date = :P72_DATE_OVERRIDE
    where eval.eval_id = htmldb_application.g_f01(i);
    end if;
    commit;
    end loop;
    HELP PLEASE!!!!!
    Thanks,
    Amber

    mtuser,
    you have to be a little bit more patient, your initial postings was just a few hours ago.
    About your problem, have a look at Re: prevent certain rows in updateable report from being updated??
    I think it explains your problem and offers a solution for it.
    Patrick
    My APEX Blog: http://inside-apex.blogspot.com
    The ApexLib Framework: http://apexlib.sourceforge.net
    The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/

  • How do I get the values from a selected row.

    I am using JDeveloper 9.0.5. On my page, I have placed a button within a table. The button has been assigned an event. The event is within my Action class. This class implements DataAction and has overriden the
    processComponentEvents(DataActionContext actionContext);
    method.
    Question: While I am within the processComponentEvents method, is it possible to obtain the values of selected row?

    Good Morning Jeffery,
    First off thanks for your clear explanation. I have a few related questions as noted from your response:
    There are two ways to communicate the desired model row between the UIX view and the struts controller. One way is to use the singleSelection component in your table and put your buttons in the singleSelection's contents.
    When the user selects the radio button for a particular row and then clicks on one the buttons, a built in event handler in UIX will set the current row in the model to be the user selected row. Therefore, your Struts action can operate on the currently selected model row.
    When you drop a UIX table from the data control palette it is automatically set up in this way (with a single selection).
    Ok, Lets say that i've set everything up as you described. Not lets say that the button was pressed and I hit the overriddenprotected void processComponentEvents(DataActionContext actionContext) throws IOException, ServletException ;
    When I look at the request object, I do not see the values. How do I get access to the rowkey at this point?
    Some people, however, want to actually render buttons in their table rows, and have those buttons initiate an action on their row. If you are doing this, then you need to pass the row id to your struts action as a parameter, which means that you need to know the row id when you are rendering a button for a given row. There is an EL expression that will return the row-id for the current row, it is:
    ${uix.current.rowKeyStr}
    which is not so obvious or well documented in the preview release (sorry) but should be for the production release.
    A generic code snippet would go a long way to shedding some light on that. I guess I am use to using JDeveloper 9.0.3. It seems,"to me", that JDev 9.0.5 has put a completely new twist on things. I find myself wondering when I can use the 9.0.3 syntax and when
    should not. If your team has any short source toys around which demonstrated using rowkeys, or accessing the internal parts of the
    struts controller, I would find that invaluable. It dose not matter if this information is documented.
    Thank you

  • How to get column value of a selected row of ALV

    Hello ,
    I have application POWL POWL_UI_COMP uses  another component  POWL_TABLE_COMP.
    This POWL_TABLE_COMP uses SALV_WD_TABLE.
    I want to select value of ORDER id and it need to be passed whenever user selects a display order button(Which is self defined function generated in POWL_TABLE_COMP) . I am calling a display order on action of this display button(http://nap60.nalco.one.net:8042/sap/bc/webdynpro/sap/mt_order_app?IV_ACTIVITYTYPE=A&IV_EQUIPMENT=aaaa&IV_ORDERID=90001511&IV_ORDERTYPE=STD&IV_QMNUM=00&IV_TPLNR=00)
    ORDERID is one column value of selected row of ALV table.
    So please can you suggest , how to read ORDERID and pass it to the self defined function..
    thanks in advance,
    Sharada

    Anoop,
    I have plcaed this code in event handler of  on_lead_select.
    Its giving error  the element doesnt exist. 
    static_attributes should give me row data but it's giving short dump saying
    Pl can you suggest.
    data:   set_of_element type WDR_CONTEXT_ELEMENT_SET,
            element1 type ref to IF_WD_CONTEXT_ELEMENT,
            result type POWL_CRESULT_STY,
            table_helper type ref to CL_POWL_TABLE_HELPER,
          context_node type ref to IF_WD_CONTEXT_NODE,
           lt_selected_elements TYPE wdr_context_element_set,
           static_attributes type ref to data.
      table_helper = wd_comp_controller->mr_table_helper.
      context_node = table_helper->get_data_node( ).
      context_node = wd_comp_controller->mr_table_helper->get_data_node( ).
      context_node->get_static_attributes( exporting index = r_param->index
                                          importing static_attributes = static_attributes ).
    thanks,
    Sharada

  • Return to selected row with refresh after update in edit  form

    Hi,
    I created a database view.When selected a single row and click on button i can edit the row in a form for update.What i want, when doing some update and click on the commit button i return back on the initial row with a refresh to see the update done on this row.I succeeded to modify the form and commit.But when i return on the selected row my update is not visible.How can i return to the same selected row with a refresh.In oracle form i can do a go record with execute_query, but how to do this in ADF.Please someone can help so that i do not spend many days on it.
    Thanks
    Soodesh

    [click for the tutorial|http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&ved=0CFQQFjAF&url=http%3A%2F%2Fandrejusb.blogspot.com%2F2013%2F03%2Fadf-rollback-and-keep-current-row.html&ei=Tnl3Ucn3BoXIrQeemICQAw&usg=AFQjCNHdYcJL8kJKymqbWBT9XDGTWmeUvQ&bvm=bv.45580626,d.bmk&cad=rja]
    here you go :)

  • Summing Selected Rows in Column Depending on Value in Another Column

    I'd like to sum only the values in selected rows in a given column depending on the value of another column in the same row. For example, suppose I have a table (please disregard the underscores, needed for correct alignment):
    ___A____B____C___D
    1__5___10___15___0
    2_20___25___30___1
    3_35___40___45___1
    4_50___55___60___0
    5__sum(D=1)
    In cell B5, I'd like to compute the sum of only rows in column B for which the value of the corresponding column D is 1. In this case B5 would be 65.
    How can I do this using functions? Is it possible to do it for a variable range of rows without specifying each row individually?
    Thanks,
    Dave

    You should place your formula to other collumn then calculated ones or in another table. You will be able to calculate whole collumns with: =SUMIF(D;“=1”;B)
    Formula for your example is: =SUMIF(D1:D4;“=1”;B1:B4)
    VB

  • JTable resetting values

    There is a lot of code to look at, but if you run it the program will work fine and you will see what happens. After I set the number of rows in the class RegressInput, the class Table is shown on the second card of the CardLayout. Whenever I try to type in a new value, however, it resets the value to 0. What's wrong?
    Thanks so much!
    import javax.swing.*;                     //FOR SWING COMPONENT CLASSES
    import javax.swing.JPanel.*;
    import java.awt.*;                        //FOR CONTAINER CLASS
    import java.awt.event.*;                  //FOR EVENT HANDLING
    import javax.swing.table.AbstractTableModel;
    public class RegressInput extends JFrame
        private JComboBox listJComboBox;        //COMBO BOX TO HOLD HOW MANY PAIRS OF DATA POINTS THE USER HAS TO ENTER
        private JButton answerButton;           //BUTTON TO CLICK AFTER SELECTING PAIRS OF DATA POINTS
        private JPanel textFieldPanel;          //TEXT FIELD PANEL   
        private CardLayout cardSelector;        //DECLARE CARD LAYOUT OBJECT   
        private JPanel cardDeck;                //DECLARE CARD PANEL OBJECT
        public RegressInput(String title)
            super(title);               //CALL SUPERCLASS CONSTRUCTOR
            //CREATE A CONTAINER
            Container container = getContentPane();
            //INSTANTIATE CARD LAYOUT OBJECT
            cardSelector = new CardLayout();
            //INSTANTIATE PANEL OBJECT
            cardDeck = new JPanel();
            //SET LAYOUT OF CARD DECK PANEL TO CARD LAYOUT
            cardDeck.setLayout(cardSelector);
            //DEFINE LABEL FOR FIRST CARD
            Label question = new Label("How many PAIRS of data would you like to enter?");
            //BUTTON TO SUBMIT NUMBER OF POINTS TO PLOT
            answerButton = new JButton("OK");
            listJComboBox = new JComboBox( getArray() );//USE getArray() METHOD TO SET ITEM LIST OF THE COMBO BOX
            listJComboBox.setMaximumRowCount(10);       //SETS THE VISIBLE NUMBER OF ITEMS TO THE USER
            //BUILD CARD DECK
            JPanel comboBoxCard = new JPanel();     //CREATE FIRST CARD
            comboBoxCard.add(question);             //ADD question LABEL TO FIRST CARD
            comboBoxCard.add(listJComboBox);        //ADD listJComboBox TO FIRST CARD
            comboBoxCard.add(answerButton);         //ADD answerButton TO FIRST CARD
            cardDeck.add(comboBoxCard, "Step 1");       //ADD FIRST CARD TO DECK
            container.add(cardDeck);                    //ADD CARD DECK TO CONTAINER
            //DEFINE BUTTON HANDLER OBJECT
            ButtonHandler buttonHandler = new ButtonHandler();
            //ADD ACTION LISTENER FOR BUTTONS
            answerButton.addActionListener(new ButtonHandler());
        }//END RegressInput() CONSTRUCTOR
        //METHOD TO CREATE AND RETURN AN ARRAY OF VALUES FOR JComboBox
        private String[] getArray()
            //CREATE ARRAY TO HOLD 30 VALUES
            int numbers[] = new int[49];
            //CREATE int IN ORDER TO START THE ARRAY AT 2 INSTEAD OF 1
            int number = 2;
            //ASSIGN VALUES FROM 2 TO 30 TO numbers[] ARRAY
            for(int count=0; count < 49; ++count)
                numbers[count] = number;        //SETS EACH INDEX TO number
                number++;                       //INCREMENTS number
            }//END for LOOP
            //CREATE pairs[] ARRAY TO HOLD 30 STRINGS
            String pairs[] = new String[49];
            //ASSIGN VALUES 1 TO 30 IN STRING ARRAY FOR COMBO BOX
            for(int count = 0; count < 49; ++count)
                pairs[count] = "" + numbers[count];
            }//END for LOOP
            return pairs;//RETURNS pairs[] ARRAY FOR THE LIST ITEMS IN listJComboBox
        }//END getArray() METHOD8
        //RETURNS THE ITEM SELECTED BY THE USER FROM THE JComboBox
        private int getValue()
            //ASSIGNS STRING VALUE OF THE JComboBox TO A WRAPPER
            Integer v = new Integer((String) listJComboBox.getSelectedItem());
            //ASSIGNS WRAPPER VALUE TO int
            int value = v.intValue();
            //RETURN VALUE OF SELECTED ITEM
            return value;
        }//END getValue()
        //BUTTON EVENT HANDLER CLASS
        private class ButtonHandler implements ActionListener
         //PROCESS EVENT
            public void actionPerformed(ActionEvent e)
                //WHICH BUTTON CAUSED THE EVENT?
                if(e.getSource() == answerButton)
                    Table table = new Table(getValue());
                    cardDeck.add(table, "Step 2");     //ADD SECOND CARD TO DECK
                    cardSelector.last(cardDeck);
                    cardDeck.setSize(600,600);
                }//END if STATEMENT
            }//END actionPerformed()
        }//END ButtonHandler CLASS
    }//END RegressInput CLASS
    import javax.swing.*;                     //FOR SWING COMPONENT CLASSES
    import javax.swing.JPanel.*;
    import java.awt.*;                        //FOR CONTAINER CLASS
    import java.awt.event.*;                  //FOR EVENT HANDLING
    import javax.swing.table.AbstractTableModel;
    public class Table extends JPanel
        private boolean DEBUG = false;
        public Table(int value)
            super(new GridLayout(1,0));
            int row = value;
            JTable table = new JTable(new InputTable(row));
            table.setPreferredScrollableViewportSize(new Dimension(500, 70));
            //Create the scroll pane and add the table to it.
            JScrollPane scrollPane = new JScrollPane(table);
            //Add the scroll pane to this panel.
            add(scrollPane);
        class InputTable extends AbstractTableModel {
            private boolean DEBUG = false;
            private String[] columnNames = {"X Values", "Y Values"};
            private final int COLUMNS = getColumnCount();
            private int[][] data;
            public InputTable(int row)
                int rows = 2;
                rows = row;
                data = new int[rows][COLUMNS];
                for(int x = 0; x < rows; ++x)
                    for(int y = 0; y < COLUMNS; ++y)
                        data[x][y] = (0);
            public int getColumnCount() {
                return columnNames.length;
            public int getRowCount() {
                return data.length;
            public String getColumnName(int col) {
                return columnNames[col];
            public Integer getValueAt(int row, int col) {
                return data[row][col];
            public Class getColumnClass(int c) {
                return getValueAt(0, c).getClass();
            public boolean isCellEditable(int row, int col) {
                return true;
            public void setValueAt(Integer value, int row, int col) {
                if (DEBUG) {
                    System.out.println("Setting value at " + row + "," + col
                            + " to " + value
                            + " (an instance of "
                            + value.getClass() + ")");
                data[row][col] = value;
                fireTableCellUpdated(row, col);
                if (DEBUG) {
                    System.out.println("New value of data:");
                    printDebugData();
            private void printDebugData() {
                int numrows = getRowCount();
                int numCols = getColumnCount();
                for (int i=0; i < numrows; i++) {
                    System.out.print("    row " + i + ":");
                    for (int j=0; j < numCols; j++) {
                        System.out.print("  " + data[i][j]);
                    System.out.println();
                System.out.println("--------------------------");
    import javax.swing.JFrame;
    public class TestSharpStats
         public static void main(String[] args)
            //DEFINE FRAME OBJECT
            RegressInput window = new RegressInput("Hi");     //SETS TITLE BAR
            window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      //CLOSES WINDOW
            window.setSize(400, 600);    //SET FRAME SIZE
            window.setResizable(true);  //PREVENTS USER FROM RESIZING WINDOW
            window.setVisible(true);     //SETS window TO VISIBLE
        }//END main()
    }//END TestSharpStats CLASS

    Yah I know that is correct. However, I have to receive the variable row in order to set the user-defined number of rows for the table. I have to set rows equal to 2 in order to get around the error that I haven't instantiated the variable. Does that make sense?
                int rows = 2;
                rows = row;
                data = new int[rows][COLUMNS];
                for(int x = 0; x < rows; ++x)
                    for(int y = 0; y < COLUMNS; ++y)
                        data[x][y] = (0);

  • Possible bug ? - Default value for select list

    4.2.1
    Hi, I have one page with a couple of reports. I have a time period filter on top. Its a select list with values 7 days, 3 months and 12 months. Default value is set to 3 (where return values of select list is 1,2,3 resp).
    Now in page 1 which has this select list, :P1_SELECT it has a report which shows counts of number of items purchased. When the user clicks on the count(hyperlinked column), it takes the user to another page which runs the details of the items and also uses the Page 1 select. It works fine when I change the time period. However, if I dont change the time period in the select list when I first login, althought I have set the default value to 3, the interactive report on page shows no data found, because the select list default value I guess it does not recognize.
    Is this a bug?
    Thanks,
    Sunil

    ryansun wrote:
    4.2.1
    Hi, I have one page with a couple of reports. I have a time period filter on top. Its a select list with values 7 days, 3 months and 12 months. Default value is set to 3 (where return values of select list is 1,2,3 resp).
    Now in page 1 which has this select list, :P1_SELECT it has a report which shows counts of number of items purchased. When the user clicks on the count(hyperlinked column), it takes the user to another page which runs the details of the items and also uses the Page 1 select. It works fine when I change the time period. However, if I dont change the time period in the select list when I first login, althought I have set the default value to 3, the interactive report on page shows no data found, because the select list default value I guess it does not recognize.
    Is this a bug?NO.
    Default values is only populated on the clien side and NOT in the session.
    This has been discussed thousands of times in the forum..found this with a simple search {message:id=4440597}

  • Passing values of multiple rows to OracleCallableStatement

    Hi,
    I have a table with multiselection and a submit button. I want to select multiple rows and pass the values of selected rows one by one to a OracleCallableStatement in AM.
    I have below code in CO. RowSelection is a transient attribute of type string in ItemsNotReturnedVO. 'Checked Value' is Y
    When I run the page, select rows, click on Update button, I get this error. "*Attribute set for RowSelection in view object ItemsNotReturnedVO1 failed*"
    if ("WaiveItemBtn".equals(pageContext.getParameter(EVENT_PARAM))) {
    OAViewObject itemVO = (OAViewObject)am.findViewObject("ItemsNotReturnedVO1");
    OARow row = (OARow)itemVO.first();
    for(int i=0;i<itemVO.getRowCount();i++)
    String appStatus=itemVO.getCurrentRow().getAttribute("RowSelection").toString();
    if(appStatus.equalsIgnoreCase("Y"))
    String vHeaderID = pageContext.getParameter("vTraHeaderId");
    pageContext.putTransactionValue("vTraHeaderId", vHeaderID);
    String vTempID = pageContext.getParameter("vTraTempId");
    pageContext.putTransactionValue("vTraTempId", vTempID);
    Serializable[] params = { vHeaderID,vTempID };
    am.invokeMethod("waiveItemRequest", params);
    row = (OARow)itemVO.next();
    Below code in AM
    public void waiveItemRequest(String vHeaderID, String vTempID){   
    try{
    OADBTransactionImpl oadbtransactionimpl = (OADBTransactionImpl)getDBTransaction();
    OracleCallableStatement oraclecallablestatement =
    (OracleCallableStatement)oadbtransactionimpl.createCallableStatement(" { call xxitemreturn_pkg.waive_item(:1,:2) } ",1);
    oraclecallablestatement.setInt(1, Integer.parseInt(vHeaderID));
    oraclecallablestatement.setInt(2, Integer.parseInt(vTempID));
    oraclecallablestatement.execute();
    catch(Exception e){  
    e.printStackTrace();
    Using 10g database, Jdeveloper 10.1.3.3.0

    Hi Nadir,
    The error is coming because you transient attribute is not updateable.
    To make it updateable,
    1) Open your VO
    2) Go to Attributes
    3) Select your transient attribute and make UPDATEABLE = Always.
    Let me know, if this helps or you need further assistance.
    Thanks
    Saurabh

  • Overriding the SelectionForegroundColor of a selected row in a JTable

    Hi
    First, apologize for my poor English.
    I looked for a similar topic in the forum, but coudn't find one.
    What I want to achieve is this :
    upon data contained in a column, I want the foreground color of the row to be gray. To do this, I write my own TableCellRenderer and it works perfectly except for the unique selected row of the table (single selection model) whose foreground color is the table's selectionForegroundColor.
    I found a workaround...but the code is awful and leads to OutOfMemoryErrors.
    Here is the code :
    <
    public Component getTableCellRendererComponent(JTable table,
    Object value,
    boolean isSelected,
    boolean hasFocus,
    int row,
    int column) {
         boolean isGrayColored = false;
         // some process to set whether the foreground color should be gray
         if (isGrayColored) {
              //table.setSelectionForeground(Color.gray);
              setForeground(Color.gray);
         } else {
              //table.setSelectionForeground(Color.black);
              setForeground((isSelected) ? table.getSelectionForeground() : table.getForeground());
         if (table != null && value == null && isSelected && hasFocus) {
              return this;
         } else {
              return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    >
    If I uncomment the lines "table.setSelectionForeground(..", I got the expected result.
    Thanks for your help
    Regards,

    Try this:
          public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
             if (isSelected && hasFocus) {
                setForeground(Color.black);
             } else {
                setForeground(Color.gray);
             setText((value==null)?"":""+value);
             return this;
          };o)
    V.V.
    PS: If it helps, don't forget the dukes!

  • To change the font of a selected row in a Jtable

    Hello,
    Is it possible to change the font of a selected row in a jtable?
    i.e. if all the table is set to a bold font, how would you change the font of the row selected to a normal (not bold) font?
    thank you.

    String will be left justified
    Integer will be right justified
    Date will be a simple date without the time.
    As it will with this renderer.Only if your custom renderer duplicates the code
    found in each of the above renderers. This is a waste
    of time to duplicate code. The idea is to reuse code
    not duplicate and debug again.
    No, no, no there will be NO duplicated code.
    A single renderer class can handle all types ofdata.
    Sure you can fit a square peg into a round hole if
    you work hard enough. Why does the JDK come with
    separate renderers for Date, Integer, Double, Icon,
    Boolean? So that, by default the rendering for common classes is done correctly.
    Because its a better design then having code
    with a bunch of "instanceof" checks and nested
    if...else code.This is only required for customization BEYOND what the default renderers provide
    >
    And you would only have to use instanceof checkswhen you required custom
    rendering for a particular classAgreed, but as soon as you do require custom
    renderering you need to customize your renderer.
    which you would also have to do with theprepareRenderer calls too
    Not true. The code is the same whether you treat
    every cell as a String or whether you use a custom
    renderer for every cell. Here is the code to make the
    text of the selected line(s) bold:
    public Component prepareRenderer(TableCellRenderer
    renderer, int row, int column)
    Component c = super.prepareRenderer(renderer, row,
    , column);
         if (isRowSelected(row))
              c.setFont( c.getFont().deriveFont(Font.BOLD) );
         return c;
    }It will work for any renderer used by the table since
    the prepareRenderer(...) method returns a Component.
    There is no need to do any kind of "instanceof"
    checking. It doesn't matter whether the cell is
    renderered with the "Object" renderer or the
    "Integer" renderer.
    If the user wants to treat all columns as Strings or
    treat individual columns as String, Integer, Data...,
    then they only need to override the getColumnClass()
    method. There is no change to the prepareRenderer()
    code.
    Have you actually tried the code to see how simple it
    is?
    I've posted my code. Why don't you post your solution
    that will allow the user to bold the text of a Date,
    Integer, and String data in separate column and then
    let the poster decide.Well, I don't see a compilable, runnable demo anywhere in this thread. So here's one
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Arrays;
    import java.util.Date;
    import java.util.Vector;
    public class TableRendererDemo extends JFrame{
        String[] headers = {"String","Integer","Float","Boolean","Date"};
        private JTable table;
        public TableRendererDemo() {
            buildGUI();
        private void buildGUI() {
            JPanel mainPanel = (JPanel) getContentPane();
            mainPanel.setLayout(new BorderLayout());
            Vector headerVector = new Vector(Arrays.asList(headers));
             Vector data = createDataVector();
            DefaultTableModel tableModel = new DefaultTableModel(data, headerVector){
                public Class getColumnClass(int columnIndex) {
                    return getValueAt(0,columnIndex).getClass();
            table = new JTable(tableModel);
    //        table.setDefaultRenderer(Object.class, new MyTableCellRenderer());
            table.setDefaultRenderer(String.class, new MyTableCellRenderer());
            table.setDefaultRenderer(Integer.class, new MyTableCellRenderer());
            table.setDefaultRenderer(Float.class, new MyTableCellRenderer());
            table.setDefaultRenderer(Date.class, new MyTableCellRenderer());
            JScrollPane jsp = new JScrollPane(table);
            mainPanel.add(jsp, BorderLayout.CENTER);
            pack();
            setLocationRelativeTo(null);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        private Vector createDataVector(){
            Vector dataVector = new Vector();
            for ( int i = 0 ; i < 10; i++){
                Vector rowVector = new Vector();
                rowVector.add(new String("String "+i));
                rowVector.add(new Integer(i));
                rowVector.add(new Float(1.23));
                rowVector.add( (i % 2 == 0 ? Boolean.TRUE : Boolean.FALSE));
                rowVector.add(new Date());
                dataVector.add(rowVector);
            return dataVector;
        public static void main(String[] args) {
            Runnable runnable = new Runnable() {
                public void run() {
                    TableRendererDemo tableRendererDemo = new TableRendererDemo();
                    tableRendererDemo.setVisible(true);
            SwingUtilities.invokeLater(runnable);
        class MyTableCellRenderer extends DefaultTableCellRenderer{
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                 super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
                if ( isSelected){
                    setFont(getFont().deriveFont(Font.BOLD));
                else{
                    setFont(getFont().deriveFont(Font.PLAIN));
                if ( value instanceof Date){
                    SimpleDateFormat formatter =(SimpleDateFormat) SimpleDateFormat.getDateInstance(DateFormat.MEDIUM);
                    setText(formatter.format((Date)value));
                if(value instanceof Number){
                   setText(((Number)value).toString());
                return this;
    }Hardly a "bunch of instanceof or nested loops. I only used the Date instanceof to allow date format to be specified/ modified. If it was left out the Date column would be "18 Apr 2005" ( DateFormat.MEDIUM, which is default).
    Cheers
    DB

Maybe you are looking for

  • Translated # same as extension

    Ok, I'm sure this is probably something simple, but I'm a total ucm n00b, and searches aren't helping.  Tried reading the docs, but they are pretty over my head as well. Problem is, I have a translation pattern for 555-9336 that translates from 9336

  • ARD or DS for deployment over WAN?

    Hi, I was hoping to get some advice on best practice for a particular scenario, any input would be appreciated :-) Scenario We have two sites, site "A" and site "B". We have a server at both site A and B. Site A is our primary location - all clients

  • MVC - Am I doing this correctly?

    I am creating a User Enter/Edit app based on the MVC Model 2 Design Pattern. The app user goes to the Servlet (doGet) first and determines if this is the first time into the page, and if an User ID was passed in. If the UserID was passed in, then the

  • Problème transfert photo avec Itune

    Itune plante régulièrement lors de transfert de nouvelles photos sur mon IPAD2 à partir de mon PC sous windows 7.  La version de Itune est 10.4.1 Je choisi un répertoire qui contient photos et lors de la syncro, itune plante.

  • Create one agent and save it, it will generate error message.

    Hi experts, In OBIEE 11g ,when I create one agent for sending the emial to group and click saved button, it will generate the following message: [nQSError: 76015] The active Oracle BI Scheduler instance in the cluster could not be determined. Are you