JTable cell value doesn't change with user input

I'm making a program that uses a custom table model (extends AbstractTableModel). The problem is when I type a value in one of the table cells, then press enter (or click outside the cell), the value goes back to what it was originally. So for example, a cell has "oldvalue", I type in "newvalue", press enter, and now the cell still reads "oldvalue". I figured the renderer would automatically update the cell by calling MyTableModel.setValueAt (...), but maybe I need a listener to do this? let me know. thanks

alright, well basically I'm making a database manager
and thought it would be easier to extend
AbstractTableModel and then do all the queries inside
the methods instead of listening for events. Second
thing, I put a debug statement and setValueAt never
gets called when you type in a new cell value. How
does it update the cell then is my question?It's your TableModel bug but a much better advice would be that you should use
DefaultTableModel instead of extending AbstractTableModel. The DefaultTableModel
is usually more than enough for an ordinary JTable application.
The simplest and standard way of handling DB data from JTable is updating
vectors for DefaultTableModel data with your new DB data set. You don't need
to worry about low-level event firing, cell editor control etc. if you use
DefaultTableModel. See API documentation of DefaultTableModel closely.

Similar Messages

  • Why the html file doesn't change with applet ?

    i am new to java , i get a problem when i am modifying a applet . i recompile it to .class file but did not change its name . and the .html file which use the applet doesn't change with it , it still shows the original style , even when i delete the .class file . it works until i changed the name of the source file and use the different .class file in html . it's troublesome if i need to modify the source file because i must change the name to get it . can you tell me why and how could i avoid this ?

    I am new also & had a similar experience.
    In my case it was aftercompiling and trying to refresh the browser to get it to display the new version of my applet. I got around this by holding Ctrl down and pressing F5 to refresh.
    Also, some of the systems at university cause exactly the problem you describe. Not sure why it should work but we overcame it by placing our files in the JDK folder on those systems & it worked properly. May be worth a try.

  • LJ M127fw doesn't print with user rights

    Good afternoon.
    Printer hp lj m127fw connected via USB doesn't print with user rights in the OS Windows 7 x64. It prints only with administrator rights, although some computers print with user rights without any action. We noticed, as well, that scanning and printing pictures are always available with user rithts.

    I would suggest the following:  log on as administrator.  Click Start, Devices and Printers, right click on the Laserjet M127FW, select Printer Properties, Security.  Select Everyone and give permission for printing (and whatever else is desired), Apply.
    Bob Headrick,  HP Expert
    I am not an employee of HP, I am a volunteer posting here on my own time.
    If your problem is solved please click the "Accept as Solution" button ------------V
    If my answer was helpful please click the "Thumbs Up" to say "Thank You"--V

  • Calling report from a form with user input parameters

    Hello,
    I am new to Oracle reports. I have an application coded in 6i. I am currently running the application in Oracle Forms Builder 9i. There are also few reports which are called from the forms. Since the application was developed in 6i, the report was called using Run_Product. The forms pass a set of user parameters to the report using the parameter list pl_id. The syntax used was Run_Product(REPORTS, 'D:\Report\sales.rdf', SYNCHRONOUS, RUNTIME,FILESYSTEM, pl_id, NULL);
    I learnt that the Run_product doesnt work in 9i and we need to use run_report_object. I have changed the code to use run_report_object and using web.show_document () i am able to run the report from the form. There are 2 parameters that need to be passed from forms to reports. The parameters are from_date and to_date which the user will be prompted to enter on running the form. In the report, the initial values for these parametes are defined. So, the report runs fine for the initial value always. But when i try to change the user inputs for the form_date and to_date, the report output doesnt seem to take the new values, instead the old report with the initial values(defined in the report) runs again.
    Can someone give me the code to pass the user defined parameters to the report from the forms? I have defined a report object in the forms node as REPTEST and defined a parameter list pl_id and added form_date and to_date to pl_id and used the following coding:
    vrepid := FIND_REPORT_OBJECT ('REPTEST');
    vrep := RUN_REPORT_OBJECT (vrepid,pl_id);
    But this doesnt work.
    Also, Should the parameters defined in the forms and reports have the same name?

    Thanks for the quick response Denis.
    I had referred to the document link before and tried using the RUN_REPORT_OBJECT_PROC procedure and ENCODE functions as given in the doc and added the following SET_REPORT_OBJECT_PROPERTY in the RUN_REPORT_OBJECT_PROC :
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,' FROM_DATE='||:BLK_INPUT.FROM_DATE||' TO_DATE='||:BLK_INPUT.TO_DATE||' paramform=no');
    But this also dint work. Please help me understand what difference does setting paramform=no OR paramform=yes make?
    In the report, i have defined the user parameters as FROM_DATE and TO_DATE respectively so that they match the form datablock BLK_INPUT items FROM_DATE and TO_DATE.
    My WHEN_BUTTON_PRESSED trigger is as below:
    DECLARE
    report_id report_object;
    vrep VARCHAR2 (100);
    v_show_document VARCHAR2 (2000) := '/reports/rwservlet?';
    v_connect VARCHAR2 (30) := '&userid=scott/tiger@oracle';
    v_report_server VARCHAR2 (30) := 'repserver90';
    BEGIN
    report_id:= find_report_object('REPTEST');
    -- Call the generic PL/SQL procedure to run the Reports
    RUN_REPORT_OBJECT_PROC( report_id,'repserver90','PDF',CACHE,'D:\Report\sales.rdf','paramform=no','/reports/rwservlet');
    END;
    ... and the SET_REPORT_OBJECT_PROPERTY code in the RUN_REPORT_OBJECT_PROC procedure is as:
    PROCEDURE RUN_REPORT_OBJECT_PROC(
    report_id REPORT_OBJECT,
    report_server_name VARCHAR2,
    report_format VARCHAR2,
    report_destype_name NUMBER,
    report_file_name VARCHAR2,
    report_otherparam VARCHAR2,
    reports_servlet VARCHAR2) IS
    report_message VARCHAR2(100) :='';
    rep_status VARCHAR2(100) :='';
    vjob_id VARCHAR2(4000) :='';
    hidden_action VARCHAR2(2000) :='';
    v_report_other VARCHAR2(4000) :='';
    i number (5);
    c char;
    c_old char;
    c_new char;
    BEGIN
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME,report_file_name);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,report_server_name);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,report_destype_name);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT,report_format);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,' FROM_DATE='||:BLK_INPUT.FROM_DATE||' TO_DATE='||:BLK_INPUT.TO_DATE||' paramform=no');
    hidden_action := hidden_action ||'&report='||GET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME);
    hidden_action := hidden_action||'&destype='||GET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE);
    hidden_action := hidden_action||'&desformat='||GET_REPORT_OBJECT_PROPERTY (report_id,REPORT_DESFORMAT);
    hidden_action := hidden_action ||'&userid='||get_application_property(username)||'/'||get_application_property(password)||'@'||get_application_property(connect_string);
    c_old :='@';
    FOR i IN 1..LENGTH(report_otherparam) LOOP
    c_new:= substr(report_otherparam,i,1);
    IF (c_new =' ') THEN
    c:='&';
    ELSE
    c:= c_new;
    END IF;
    -- eliminate multiple blanks
    IF (c_old =' ' and c_new = ' ') THEN
    null;
    ELSE
    v_report_other := v_report_other||c;
    END IF;
    c_old := c_new;
    END LOOP;
    hidden_action := hidden_action ||'&'|| v_report_other;
    hidden_action := reports_servlet||'?_hidden_server='||report_server_name|| encode(hidden_action);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'pfaction='||hidden_action||' '||report_otherparam);
    -- run Reports
    report_message := run_report_object(report_id);
    rep_status := report_object_status(report_message);
    IF rep_status='FINISHED' THEN
    vjob_id :=substr(report_message,length(report_server_name)+2,length(report_message));
    message('job id is'||vjob_id);pause;
    WEB.SHOW_DOCUMENT(reports_servlet||'/getjobid'||vjob_id||'?server='||report_server_name,' _blank');
    ELSE
    --handle errors
    null;
    END IF;
    In the code - " hidden_action := hidden_action ||'&'|| v_report_other; " in the RUN_REPORT_OBJECT_PROC procedure above, how do i make sure that the v_report_other variable reflects the user input parameters FROM_DATE and TO_DATE ??? v_report_other is initialised as v_report_other VARCHAR2(4000) :=''; in the procedure. Will ensuring that the v_report_other contains the user input parameters FROM_DATE and TO_DATE ensure that my report will run fine for the input parameters?
    Thanks in advance.
    Edited by: user10713842 on Apr 7, 2009 6:05 AM

  • Created textbox doesn't change with variable?

    I've tried various ways of changing tumbler = 0 to
    if(...){tumbler = 1}, if(...){tumbler = tumbler +1} and so forth,
    but unless I manually change the tumbler value, the text in the
    question box doesn't budge. I've tried moving the tLabel outside
    the onEnterFrame and it just sets to undefined.
    What's going on?

    I seem to be having a problem with inputting new data into
    the textfield, especially in the form of arrays.
    Every time I try to input an array that changes with an
    onenterFrame, it spits out "undefined".
    I can manually change the TLabel.text to display anything,
    such as "Question 3" or "My Dog is an Awesome Dog";
    but when I set up tLabel.text = myArray[myvariable];
    it displays 'undefined'
    I've tried this in an alternative version of the program with
    similar problems.
    When I tried sticking the code for the textfield into an
    onEnterFrame all text disappears entirely.

  • JTable Cell Value needs to hided

    Hi,
    I have 5 columns in a JTable. The first column is a checkbox. The second column is non editable. The third, fourth and fifth columns are editable. Whan I click a check box, I am performing a database operation and based on the output, I am setting values to for the column 3, 4 and 5.
    My requirement: I need to perform the database operation only for the first time of the check box click. If I uncheck the checkbox, the values in column 3, 4 and 5 needs to be disappeared. If I check the check box again, I need the values to be visible. Basically, I will do database calls only for the first time. From second time onwards, I need to just hide the text in the particular cells (if the checkbox is unchecked) and make the cell values visible (if the checkbox is checked) In JTable API, there are no methods to hide a cell value or I am unable to figure it out. Please help me.
    Regards
    subbu

    Alirght here is some code. This is a bit messy but I guess the solution is clear. It make use of a combination of renderers, ie the Sun's DefaultTableCellRenderer (for the first column to get the checkboxes) and a custom renderer for the rest of the columns.
    Also, a MouseListener is added so that on clicking the first column, a repaint is forced to ensure the values in the cells disappear.
    * @(#)CheckableRow.java
    * @author icewalker2g
    * @version 1.00 2007/12/27
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    import java.util.*;
    import java.io.*;
    public class CheckableRow extends JFrame {
        public JTable table;
        public DefaultTableModel model;
        public CheckableRow() {
            super("Checkable Row");
            createUI();
        public void createUI() {
            Vector<String> cols = new Vector<String>();
                cols.addElement("Col 1");
                cols.addElement("Col 2");
                cols.addElement("Col 3");
                cols.addElement("Col 4");
                cols.addElement("Col 5");
            Vector<Object> rows = new Vector<Object>();
            model = new DefaultTableModel(rows, cols);
            for(int i = 0; i < 5; i++) {
                Vector<Object> row = new Vector<Object>();
                    row.addElement( false );
                    row.addElement("Data");
                    row.addElement("Col 3 Data " + (i+1));
                    row.addElement("Col 4 Data " + (i+1));
                    row.addElement("Col 5 Data " + (i+1));
                model.addRow( row );
            table = new JTable(model) {
                CellValueRenderer renderer = new CellValueRenderer();
                public TableCellRenderer getCellRenderer(int row, int col) {
                    if(col > 1) {
                        return renderer;   
                    return super.getCellRenderer(row, col);
                public Class getColumnClass(int col) {
                    if( col == 0) {
                        return Boolean.class;
                    return super.getColumnClass(col);
                public boolean isCellEditable(int row, int col) {
                    if( col != 1 ){
                        return true;
                    return false;
            table.addMouseListener( new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    if( table.columnAtPoint( e.getPoint() ) == 0 ) {
                        table.repaint();
            getContentPane().add( new JScrollPane(table), BorderLayout.CENTER );
            pack();
            setLocationRelativeTo(null);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
        public class CellValueRenderer extends DefaultTableCellRenderer {
            public CellValueRenderer() {
                super();
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int col) {
                DefaultTableCellRenderer renderer = (DefaultTableCellRenderer)
                super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
                if( table.getValueAt(row, 0).toString().equals("true") && col > 1) {
                    renderer.setText("");
                } else {
                    renderer.setText( value == null ? "" : value.toString() );
                return renderer;
        public static void main(String[] args) {
            new CheckableRow();
    }ICE

  • Powershell : Issues with user input collection from Multiple InPutBox Form

    I am having issues with getting user input to pass from a form that a user fills out into variables that I can then use in other methods and commands. (ex; SQL Query, SQL Data Add, ... )
    I have attached the Powershell script I am using in it's designed form but I am having issues getting the DataCollection function to grab the content of the InputBox and send it to a variable for later use.
    Note: I'm running this at this time from the ISE so I can actually see what is going on.
    Any help would be appreciated.
    DAS
    [System.Reflection.Assembly]::LoadWithPartialName( “System.Windows.Forms”)
    [System.Reflection.Assembly]::LoadWithPartialName( “Microsoft.VisualBasic”)
    $FormDBA = New-Object System.Windows.Forms.Form
    $FormDBA.Size = New-Object System.Drawing.Size(300,500)
    $FormDBA.Text = "MIS Data"
    $FormDBA.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen;
    function DataCapture
    $SubSID = $InBoxSID.text
    ECHO $SubSID
    $InBoxTxtSID = New-Object System.Windows.Forms.Label
    $InBoxTxtSID.Location = New-Object System.Drawing.Size(25,15)
    $InBoxTxtSID.Text = "Sticker ID : "
    $InBoxSID = New-Object System.Windows.Forms.TextBox
    $InBoxSID.Location = New-Object System.Drawing.Size(130,10)
    $InBoxSID.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtUSR = New-Object System.Windows.Forms.Label
    $InBoxTxtUSR.Location = New-Object System.Drawing.Size(25,55)
    $InBoxTxtUSR.Text = "User Name ; "
    $InBoxUSR = New-Object System.Windows.Forms.TextBox
    $InBoxUSR.Location = New-Object System.Drawing.Size(130,50)
    $InBoxUSR.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtPCN = New-Object System.Windows.Forms.Label
    $InBoxTxtPCN.Location = New-Object System.Drawing.Size(25,95)
    $InBoxTxtPCN.Text = "PC Name : "
    $InBoxPCN = New-Object System.Windows.Forms.TextBox
    $InBoxPCN.Location = New-Object System.Drawing.Size(130,90)
    $InBoxPCN.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtDPT = New-Object System.Windows.Forms.Label
    $InBoxTxtDPT.Location = New-Object System.Drawing.Size(25,135)
    $InBoxTxtDPT.Text = "Department : "
    $InBoxDPT = New-Object System.Windows.Forms.TextBox
    $InBoxDPT.Location = New-Object System.Drawing.Size(130,130)
    $InBoxDPT.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtPCT = New-Object System.Windows.Forms.Label
    $InBoxTxtPCT.Location = New-Object System.Drawing.Size(25,175)
    $InBoxTxtPCT.Text = "PC Type : "
    $InBoxPCT = New-Object System.Windows.Forms.TextBox
    $InBoxPCT.Location = New-Object System.Drawing.Size(130,170)
    $InBoxPCT.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtMAK = New-Object System.Windows.Forms.Label
    $InBoxTxtMAK.Location = New-Object System.Drawing.Size(25,215)
    $InBoxTxtMAK.Text = "Make : "
    $InBoxMAK = New-Object System.Windows.Forms.TextBox
    $InBoxMAK.Location = New-Object System.Drawing.Size(130,210)
    $InBoxMAK.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtMOD = New-Object System.Windows.Forms.Label
    $InBoxTxtMOD.Location = New-Object System.Drawing.Size(25,255)
    $InBoxTxtMOD.Text = "Model : "
    $InBoxMOD = New-Object System.Windows.Forms.TextBox
    $InBoxMOD.Location = New-Object System.Drawing.Size(130,250)
    $InBoxMOD.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtOPS = New-Object System.Windows.Forms.Label
    $InBoxTxtOPS.Location = New-Object System.Drawing.Size(25,295)
    $InBoxTxtOPS.Text = "O.S. : "
    $InBoxOPS = New-Object System.Windows.Forms.TextBox
    $InBoxOPS.Location = New-Object System.Drawing.Size(130,290)
    $InBoxOPS.Size = New-Object System.Drawing.Size(120,20)
    $InBoxTxtDIS = New-Object System.Windows.Forms.Label
    $InBoxTxtDIS.Location = New-Object System.Drawing.Size(25,335)
    $InBoxTxtDIS.Text = "Disposed : "
    $InBoxDIS = New-Object System.Windows.Forms.TextBox
    $InBoxDIS.Location = New-Object System.Drawing.Size(130,330)
    $InBoxDIS.Size = New-Object System.Drawing.Size(120,20)
    $button = New-Object System.Windows.Forms.Button
    $button.Location = New-Object System.Drawing.Size(150,400)
    $button.Width = 100
    $button.Text = “Ok”
    $button.Add_Click({DataCapture})
    $FormDBA.Controls.Add($button)
    $FormDBA.Controls.Add($InBoxTxtSID)
    $FormDBA.Controls.Add($InBoxTxtUSR)
    $FormDBA.Controls.Add($InBoxTxtPCN)
    $FormDBA.Controls.Add($InBoxTxtDPT)
    $FormDBA.Controls.Add($InBoxTxtPCT)
    $FormDBA.Controls.Add($InBoxTxtMAK)
    $FormDBA.Controls.Add($InBoxTxtMOD)
    $FormDBA.Controls.Add($InBoxTxtOPS)
    $FormDBA.Controls.Add($InBoxTxtDIS)
    $FormDBA.Controls.Add($InBoxSID)
    $FormDBA.Controls.Add($InBoxUSR)
    $FormDBA.Controls.Add($InBoxPCN)
    $FormDBA.Controls.Add($InBoxDPT)
    $FormDBA.Controls.Add($InBoxPCT)
    $FormDBA.Controls.Add($InBoxMAK)
    $FormDBA.Controls.Add($InBoxMOD)
    $FormDBA.Controls.Add($InBoxOPS)
    $FormDBA.Controls.Add($InBoxDIS)
    $FormDBA.ShowDialog()

    Change this:
    $button = New-Object System.Windows.Forms.Button
    $button.Location = New-Object System.Drawing.Size(150,400)
    $button.Width = 100
    $button.Text = “Ok”
    $button.DialogResult='Ok'  #<<<<<-------
    #$button.Add_Click({DataCapture})
    Remove function andrun like this:
    if('Ok' -eq $FormDBA.ShowDialog()){
        $FormDBA.Controls|%{$_.Text}
    With names you can get values by control name.
    ¯\_(ツ)_/¯
    This suggestion works for the purpose I needed. 
    If I could, I would attach the file instead of pasting the script so you can see what all I am using this to do.
    But in short, we have a main form we use to pull records from a database and call up an application at the click of a button for remote assistance.  However, we seem to now need the ability to have this application to edit and add new records into said
    database.  That's where this second form came in and also when I hit my issue with the information capture.
    At this time I'm getting this to format the information collected so that I can start using using it with SQL commands.

  • Date difference calculation with user input variable

    Hi,
    I have the following requirement in BEx:
    The user inputs a date value and I have to calculate the difference between the date entered by the user with the Due Date in the cube, to determine the number of backlog days. Basically, I need to calculate Past Due in number of days.  I need to display the Amount due for the Time buckets like 1 -10 days, 11 -30 days.
    The report output has to be in the format below:
    Columns:
    1 u2013 10 days Past Due      $100.00
    11 u2013 30 days Past Due    $15.00
    Rows:
    Customer#    
    The cube has data from Jan 2005 to June 2008.
    For Eg:   User Input Date =   04/30/2008.
    It should compare the input date to the due date for each record in the cube.
    Any suggestions are appreciated.

    Hi Kumar,
    We have developed simar reports in our previous projects.
    You need to follow the following steps.
    1. Create a new restricted key figure globally on Past Due $100. Restriction details I will let you know in the ensuing steps.
    2. Create another restricted key figure globally on Past Due $15. Restriction details I will let you know in the ensuing steps.
    3. Create a Z varuable on Calday and offset it -1 (use the button next to exclude button).
    4.Create another Z varuable on Calday and offset it -10 (use the button next to exclude button).
    5. Create another Z varuable on Calday and offset it -11 (use the button next to exclude button).
    6. Create another Z varuable on Calday and offset it -30(use the button next to exclude button).
    7 Restrict the RKF past due 100$ (defined in sl 1)between the variable range defined in 3 and 4.
    8. Restrict the RKF past due 15$ (defined in sl 2) between the variable range defined in 5 and 6
    Now drag and drop those two RKF to column and you will get the desired result in C1 and C2 as follows:
    Columns:
    C1 :1 u2013 10 days Past Due $100.00
    C2 :11 u2013 30 days Past Due $15.00
    If the above info serves your purpose, please reward me with the point.
    Regards,
    Subha

  • Producer Consumer & User Events with user input windows

    Hello All,
    I am planning to build Labview code using the Producer Consumer & User events pattern, the application needs multiple user input windows for things like personal data, feature selection etc, there could be around 15 or 20 distincts screen/panels required.
    The main question from me is... Is there a best practive approach to navigating/loading from one window to another etc, and also providing a way to to retrun to the previous window.
    Also I may need need to be running some slow logging and control hardware in the background while navigating some of the screens, this seems like the producer consumer vi will be running in the background while the user input causes a load/display window event.
    A simple Producer Consumer multiple winjdoow example would be very welcome. Thanks.
    Regards Chris

    I will second Mike's suggestion to use a central VI with subpanel(s).  It is usually less confusing than multiple windows.  Typically, the selection/navigation mechanism is on the left of the main panel, global info (like help) on the right, and the subpanel(s) in the center.
    The advantage of subpanels/subVIs is that you can launch your subVIs and keep them active in the background, even though they are not being used.  This means they will keep their state information and load into the subpanel almost instantaneously the next time you need them.  For a short tutorial on subpanels, check out this link.  Scroll down to the fourth reply for working code.  The original code posted is broken.
    Communication between your VIs or loops is typically done with either queues or event structures.  State information in each should be shift registers in the respective VIs.  If you have the time, I would highly recommend you learn how to use LabVIEW classes.  The command pattern is tailor made for this kind of application.
    Finally, avoid global data if you can.  Global data is anything that you can get to from anywhere (globals, functional globals, etc.).  Use of these can speed your development, but can also lead to sloppy design which will cause you major problems later.  If you really need globally available data, use a data value reference.  It is unnamed and requires a reference, which tends to enforce better programming practice.  Yes, there are instances where you truly need globally available, named data, but they are fairly rare.  You should only use them if you are experienced and really know what you are doing.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Custom Exit - Get System Date with user input

    I am using a BW query to connect to a BOBJ universe.  Some reports from the universe must be scheduled to run for today's date and emailed to a user.  Unfortunately, we cannot determine "today" dynamically when scheduling in BOBJ.  There will be other reports filtered with a range.
    I want to create a BW custom exit variable to allow user input.  My idea is to take the user input, like "01/01/1904", and replace the value with today's date.
    Is this possible?
    Here's example code for what I am trying to achieve.
    IF user input = "01/01/1904" then get today's date.
    else use the values from the user input.
    Scenario 1: user inputs 08/01/2010 - 08/31/2010 the custom exit returns values 08/01/2010 - 08/31/2010
    Scenario 2: user inputs 01/01/1904 the custom exit returns 09/03/2010 (today)

    Hi,
    In your case, i_vnam variable and processing variable for below statement would be same.
    LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'variable name'.
    Please see the below article for reference.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20f119d9-922d-2c10-88af-8c016638bd90?quicklink=index&overridelayout=true

  • System Preferences Changing Without User Input

    I have one user who has had random system preferences change without her input.
    She is a network user connecting to a Lion 10.7.5 Server via OD.
    Her desktop is Lion - 10.7.4
    Example:  Today her setting for Security and Privacy to require a password on screen saver wake-up was changed/no longer checked.
    Her setting to be able to use a right click on her mouse changed 3x last week without input.
    Any ideas?

    If you are asking if the user is defined more than once, the answer is no.  Just one entry.

  • Need help creating script to clear data with user inputs

    Hi experts.
    I need to create a script to clear data in a DEV system from a particular junction.
    Basically, I need the user to enter a CATEGORY, ENTITY and TIME which will then be used to delete all data in a particular table which meetes those criteria.
    I tried to write it in SSIS, but can't get a user input box.
    Also, Stored Procedures are not designed to open input boxes for these entries.
    Therefore, is there a way to do this in BPC script logic?
    I believe that I might be able to write either a Stored Procedure or DTSX package and then pass data from BPC Run Package?
    If this is correct, how would I go about it?
    Also, would it be possible to read the DISTINCT entries for Category, Time and Entity and present as a dropdown list?  (It doesn't matter too much if not, a manual entry would have to do).
    I will admit that I have no experience of script logc, so any docments and/or pointers would be appreciated.
    Thanks

    Thank Karthik, but I can't use the clear for this job.
    Specifically, I need this to delete from the LCK tables whenever data gets stuck, so if anyone can tell me the format to use, I'd be extremely grateful
    (And I appreciate that this is not recommended, but it's a DEV system and we need a way to clear these locks quickly when they occur)
    Edited by: Pie Eyed on Oct 1, 2011 2:54 PM

  • Programatically change( edit?? ) JTable cell value

    If my user changes the value in cell 'A', I'd like to change the value in cell 'B' to the results of a calculation performed using the new value in A with the present ( prior to changing ) value in B.
    Example:
    Cell: suggested_sell_price
    Cell: cost_this_item
    A change in the cost_this_item cell would be reflected in the suggested_sell_price,(upon hitting enter the values are stored in the DB)
    Any suggestions would be greatly appreciated,

    Thanks for the suggestions. I'm posting a test program of what I have at the moment, it has some of the behavior I'm looking for, but I can't seem to get the new value of an aedited cell and set the table model with the new value.
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    public class TE extends JFrame
         String[] cols = {"VAL_1", "VAL_2", "VAL_3"};
         Object[][] filler = {
                                       {new Double(100.00), new Double(100.00), new Double(100.00)},
                                       {new Double(200.00), new Double(200.00), new Double(200.00)},
                                       {new Double(400.00), new Double(400.00), new Double(400.00)}
         JTable table;
         TE(String title)
                   super(title);
                   this.setDefaultCloseOperation(EXIT_ON_CLOSE);
                   MTM mtm = new MTM(3, cols.length);
                   mtm.setColumnIdentifiers(cols);
                   int nRows = filler.length;
                   for(int i = 0; i < nRows; ++i)
                             mtm.setValueAt(filler[0], 0, i);
                             mtm.setValueAt(filler[1][i], 1, i);
                             mtm.setValueAt(filler[2][i], 2, i);
                   table = new JTable(mtm);
                   table.getColumnModel().getColumn(1).setCellEditor(new SimpleCellEditor());
                   table.getColumnModel().getColumn(2).setCellEditor(new SimpleCellEditor());
                   //table.getColumnModel().getColumn(2).setCellEditor(new SimpleCellEditor());
                   JScrollPane jsp = new JScrollPane(table);
                   Container c = getContentPane();
                   c.add(jsp);
                   setSize(300,300);
                   setVisible(true);
         class MyMouseListener extends MouseAdapter
                   public void mouseClicked(MouseEvent e)
                        if(e.getClickCount() == 2)
                                  table.setValueAt("QQQQQQQ", 1,1);
    class SimpleCellEditor extends AbstractCellEditor implements TableCellEditor, ActionListener
         JTextField tf = new JTextField();
         TableModel tm = table.getModel();
         protected EventListenerList listenerList = new EventListenerList();
         protected ChangeEvent changeEvent = new ChangeEvent(this);
         public SimpleCellEditor()
                   super();                              
                   tf.addMouseListener(new MyMouseListener());
                   tf.addActionListener(this);
    public void addCellEditorListener(CellEditorListener listener) {
    listenerList.add(CellEditorListener.class, listener);
    public void removeCellEditorListener(CellEditorListener listener) {
    listenerList.remove(CellEditorListener.class, listener);
    protected void fireEditingStopped()
              CellEditorListener listener;
              Object[] listeners = listenerList.getListenerList();
              for (int i = 0; i < listeners.length; i++)
                   if (listeners[i] == CellEditorListener.class)
                             listener = (CellEditorListener) listeners[i + 1];
                             listener.editingStopped(changeEvent);
    protected void fireEditingCanceled()
         CellEditorListener listener;
              Object[] listeners = listenerList.getListenerList();
                   for (int i = 0; i < listeners.length; i++)
                   if (listeners[i] == CellEditorListener.class)
                        listener = (CellEditorListener) listeners[i + 1];
                        listener.editingCanceled(changeEvent);
    public void cancelCellEditing()
              fireEditingCanceled();
    public boolean stopCellEditing()
              fireEditingStopped();
              return true;
    public boolean isCellEditable(EventObject event)
              return true;
         public boolean shouldSelectCell(EventObject event)
         return true;
    public Object getCellEditorValue()
         return tf.getText();
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
         if(tf.hasFocus() == true)
                   tf.setBackground(Color.CYAN);
              return tf;
         public void actionPerformed(ActionEvent e)
              int row = table.getSelectedRow();
              int col = table.getSelectedColumn();
              double nVal = 0.00;
              Object currCostVal;
              Object currSellVal;
              Double costVal;
              Double sellVal;
              double newSellVal;
              double currentCost;
              if(table.getSelectedColumn() == 1)
                   currCostVal = table.getValueAt(row, col+1);
                   currSellVal = table.getValueAt(row, col);
                   costVal = new Double(currCostVal.toString());
                   currentCost = costVal.doubleValue();
                   sellVal = new Double(currSellVal.toString());
                   newSellVal = sellVal.doubleValue();
                   nVal = newSellVal*currentCost*100/100;
                   System.out.println("Recommended sell-price after change: " + nVal);
              }else if(table.getSelectedColumn() == 2 )
                        currCostVal = table.getValueAt(row, col);
                        currSellVal = table.getValueAt(row, col-1);
                        costVal = new Double(currCostVal.toString());
                        currentCost = costVal.doubleValue();
                        sellVal = new Double(currSellVal.toString());
                        newSellVal = sellVal.doubleValue();
                        nVal = newSellVal*currentCost*100/100;
                        System.out.println("Recommended sell-price after change: " + nVal);
                        System.out.println("Cost column selected " + nVal);
    }// end simple cell editor
    class MTM extends DefaultTableModel
              MTM(int rows, int cols)
                        super(rows, cols);
    public static void main(String args[])
              TE te = new TE("Test of table cell update");

  • Is there a way to preserve interactivity within a table so that users of an iBook can enter new values in selected cells and have formulas recalculated with that input?

    I would like to include interactive tables that would recalculate using formulas I have written and values that the reader/user has entered into selected cells. The tables I've made in iBooks Author do contain formulas that work as expected...until exported to an iPad, then they look and act just like a static table. I am not looking for serious number crunching or high-end mathematics, although others might find great value in such capability.
    To work without a reader/user accidentally (or otherwise) altering formulas or formatting it would be necessary to lock some or most cells of the table. At present all cells are locked after export. Apple doesn't seem to envision or value the functionality of such a feature; it appears to me missing from Numbers as well.

    Should be near trivial to execute on with an app...
    As welll, I wouldn't be surprised if a dashcode widget would fit the bill.
    As always, feel free to use the 'Provide iBooks Author Feedback' menu item for features you'd like added in the future, etc.
    http://www.apple.com/feedback/ibooks-author.html

  • JTable cell value

    I have a custom cell renderer for JTable, and this cell renderer is also a listener for some event. The cell renderer receives new value as events, since it is a listener. The cell renderer must upadte this value as a table cell. Simple call this.setText does not work, as it must somehow call the "getTableCellRendererComponent" method of the TableCellRenderer interface that it implements. How can the cell renderer force the table to update itself, as the cell renderer has received his new value. What will be a good approach here?
    TIA,
    - Manish

    Manish -
    Would you be able to post your idea?
    I have a column in a table that I added
    a check box to so that the user can select
    or deselect the data. Sometimes when
    the check box is selected or deselected it
    doesn't register until I click another field.
    Would your idea work to correct this?
    Thanks!

Maybe you are looking for