How to handle mouseclicked events in a ListView node correctly?

Hi
We want to simulate table rows and headers with a ListView. We have an additional requirement that when a particular row is selected, a X icon will appear at the last column. Clicking which will remove the row from the table.
A snippet from the implementation is given below
public class SampleList extends ListView{
    function getRow(row :Row, index:Integer, cell:ListCell):Node {         
         HBox {
                var closeView : Image
                content : [
                Label {textWrap:true, text: bind row.id, layoutInfo: bind LayoutInfo {width:width * .2, height:height * .02 }}, //some column 1
                Label {textWrap:true, text: bind row.name, layoutInfo: bind LayoutInfo {width:width * .12, height:height * .02 }}, //some column 2                                               
                close = ImageView {
                                        image : Image{url:"close.png"}
                                        disable: bind cell.selected and not cell.empty
                                        pickOnBounds : true                                   
                                        onMouseClicked : function (event):Void{
                                          if (not close.disable)
                                        //delete from row from model (Row)
                                        } //close column
     override var cellFactory =  function () {     
            def cell : ListCell = ListCell {       
            onUpdate:  function() {                    
                    def item = cell.item;              
                    cell.node = if (item == null) null; else getRow(cell.item as Row, cell.index,cell);                                          
}      The problem with the code is that the mouse clicked event used by the close button is multiplexed - Firstly - the application logic - it is used to delete the row from the model and secondly - the ListView control - uses it to trigger a item selection internally. As a result, if you click on a row which is not yet selected (in the sense that it is highlighted) at the exact location of the X icon, the row is deleted without it having been ever highlighted
If you note the code above, you will notice that the close image's mouseclicked event checks cell.selected before deleting it. And cell.selected is true even though the list has not been highlighted
Any workarounds for this problem would be appreciated
Thanks
Dhruva

User, please always tell us your jdev version.
In general you use a valueChangeListener which is fired when the user tabs out of the field...
Timo

Similar Messages

  • How to handle selection event in alv component

    Hi all,
        i am new to webdynpro abap. and i want to know how to handle selection event(such as select all / unselect ) in my simple alv application.
    Thanks very much

    Hi,
    By default when you use the selection mode for the ALV as Multi/Mutli No Lead then this option is enabled.
    Try to implement the event ONLEADSELECT and check wether this event is triggered or not.
    DATA: lo_value type ref to cl_salv_wd_config_table.
        CALL METHOD  lo_value->if_salv_wd_table_settings~set_selection_mode
          EXPORTING
            value = cl_wd_table=>e_selection_mode-multi_no_lead.
    Try to implement these event for ALV and put a break-point and test which event is getting triggered.
    ON_CLICK           
    ON_DATA_CHECK      
    ON_FUNCTION        
    ON_LEAD_SELECT     
    ON_STD_FUNCTION_AFTE
    ON_STD_FUNCTION_BEFO
    Please provide more inputs.
    Regards,
    Lekha.

  • How to handle server event in component through BOL Concept

    Hi All,
                Please let me know how o handle Server event in Component through BOL Concept.
    Thanks,
    Prameela.

    Hi Prameela,
    If you want the server event to be triggered in the search view, you have to add the code in the GET_DQUERY_DEFINITIONS method.
      DATA: lv_getter TYPE string.
    CONCATENATE 'GET_P_' <rt_result>-field INTO lv_getter.
        TRANSLATE lp_getter TO UPPER CASE.                    "#EC SYNTCHAR
        TRY.
            CALL METHOD me->(lp_getter)
              CHANGING
                cs_result = <rt_result>.
          CATCH cx_sy_dyn_call_illegal_method.
    *     no P-Getter found
        ENDTRY.
    Regards,
    Leon

  • How to handle Valuechange events, when page bean is in request scope

    Hello balusc and forum mates,
    I want to know is there any good way to handle ValueChangeEvents events, when the page's bean in request scope.
    My problem is, I have a page having more than 1 value change event so How can I maintain page values at backing bean. My bean is request scope, I can't change to session scope.
    Please I really need it.

    Hi Frank...
    In my code i used almost same logic as Andrejus Baranovskis has explained in his Editable Table example...
    You can refer that example to see what problem I'm facing...
    http://andrejusb.blogspot.com/2007/04/create-edit-and-delete-operations-in.html
    The Bean Scope in this Example is Session scope...Save button is working fine...
    But as i Change the bean scope to Request scope then Save button is not working for Edit but it is working for Delete Action very well..
    I want that save button should work also for Edit action in Request Scope..
    Please Make me understand that why it is happened like that..
    and help me to find the solution..
    and Also if you have a better document to Explain the life cycle of Application in Different Bean Scope...So please provide me that Doc to me...
    It would be a great help for me to understand the concept of session...
    Thanks Frank
    Fizzz...

  • How to handle the events of business object (BAPI)

    Hi,
    How to register to BAPI event and handle?
    For example, for a business object 'inv', there is an event as 'created'.
    I want to insert entry in a z table when an inv is created.
    I assume that the 'created' event is triggered when an inv is created.
    How i can register to that event and handle that event so that i can
    insert an entry in z table.
    Thanks,
    Prasad

    ComponentListener?
    : jay

  • How to handle key events in iphone

    I want to be able to detect physical keyboard (e.g. bluetooth) events in an iOS app.
    In Mac, there is a class NSEvent which handles both keyboard and mouse events, and in ios (iphone/ipad) the counterpart of NSEvent is UIEvent which handles only touch events. I know ios API does not provide this functionality, but how can i handle key events in iphone???

    in my application header part of the page is common of all page. header.jsff contains comandmenuItem named "proceduralhelp". if I click proceduralhelp a pop up opens .
    in my login page when first time I open popup and press escape popup is not closing.
    rest of the cases after login escpe will cose the popup.
    only on the loginpage that to for the first time it is not closing when pressing up on escape key. (then we click on close button. and once again open the popup in loginpage now if we press escape it works).
    Thanks,
    Raghavendra.

  • How to handle mouseClicked in JPanel

    HI,
    My panel is fill with components, but I'd like to handle mouseClicked on whatever Component mouse have been clicked.
    I know that I could register each of component's MouseClick Event in one handler. But I think there is simpler way and beside that one of that component is some compiled Bean, which do some action when is clicked.
    If someone knows give me a shout
    kind regards
    Seb

    There are a couple of ways that I know of to detect mouse events on a wider scale.
    One way is to subclass JPanel and override the processMouseEvent method - but this will not give you MouseEvents that are processed by a subcomponent (e.g. your bean). In your case, use the next option.
    The other way is to listen to all MouseEvents in the system, and filter the ones for components inside your JPanel. Here's some sample code:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class MouseTest extends JFrame
         public MouseTest() {
              super("MouseTest");
              // create a panel with a bunch of buttons
              final JPanel panel = new JPanel(new GridLayout(10, 0));
              for (int i = 0; i < 50; i++) {
                   panel.add(new JButton("L-"+i));
              // enable mouse events on the panel
              panel.addMouseListener(new MouseAdapter() {});
              // add a global AWT event listener to catch only MouseEvents
              getToolkit().addAWTEventListener(new AWTEventListener() {
                   public void eventDispatched(AWTEvent e) {
                        if (e instanceof MouseEvent) {
                             MouseEvent me = (MouseEvent)e;
                             // did the event occur inside the panel?
                             if (SwingUtilities.isDescendingFrom(me.getComponent(), panel)) {
                                  // convert the mouse event location to the Panel's coordinate space
                                  Point p = SwingUtilities.convertPoint(me.getComponent(), me.getPoint(), panel);
                                  System.out.println(p);
              }, AWTEvent.MOUSE_EVENT_MASK);
              setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
              setContentPane(panel);
              pack();
         public static void main(String[] args) {
              MouseTest mt = new MouseTest();
              mt.setLocationRelativeTo(null);
              mt.setVisible(true);
    }

  • How to handle mousemove event in Acrobat?

    Hi, i am working on Acrobat plugin. how to handle mouse move event in acrobat using Acrobat SDK?. i have created menuitem. when i selected menuitem is activated now i want to handle mouse move event acrobat.
    Thanks in advance

    Thank You Leonard... For reply..
    AVPageViewCursorProc callback used for cursor coordinate..
    now i am displayed in the annotation.. but it is not show continuously... how can do it?
    whenever cursor changes, cursor coordinate should be displayed properly in the annotation. may i get some suggestion or sample.
    Thanks in advance..

  • How to handle softkey events

    hi all,
    The softkeys varies form device to device.so kidly say some genric way to handle softkey events.
    Thanks in advance
    Badri

    The only "generic" way to handle softkeys is to use Commands.
    shmoove

  • How to handle keypressed event for form

    i have to handle keypressed event of a textfield control.
    I have tried by implementing itemstatechangelistner ........
    but as api specifies its behavior varies from device to device....it is guaranteed that the control is notified when losing its focus. But my requirement is to get notified for every keypressed time.....
    any idea.....pls help me

    Can't be done for TextField. Many devices (example:SE k700i) launch a separate editing screen to change the text in a TextField.
    db

  • How to handle LostFocus event for TextField in J2ME?

    Hi:
    I want to handle LostFocus event for TextField in J2ME.
    So can anybody help me.....
    Thank You

    MIDP API does not have LostFocus event.
    You can try setting ItemStateListener for the TextField ([if needed, click here for details|http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/ItemStateListener.html]). API requires that +"...For implementations that have the concept of an input focus, the listener should be called no later than when the focus moves away from an item whose state has been changed. The listener should be called only if the item's value has actually been changed...."+

  • How to handle key events in popup component

    Is there any possibility to handle keyboard events after a popup is opened
    requirement : I want to close popup when I press escape key (by default this functionality is present but in some scenarios this is not working ) so explicitly i want to handle key events for popup.
    Thanks,
    Raghavendra.

    in my application header part of the page is common of all page. header.jsff contains comandmenuItem named "proceduralhelp". if I click proceduralhelp a pop up opens .
    in my login page when first time I open popup and press escape popup is not closing.
    rest of the cases after login escpe will cose the popup.
    only on the loginpage that to for the first time it is not closing when pressing up on escape key. (then we click on close button. and once again open the popup in loginpage now if we press escape it works).
    Thanks,
    Raghavendra.

  • How to handle editing events in a JComboBox

    I have a editable JComboBox. User can select value either using the drop-down box or by editing.
    I am able to get the drop-down selct event. However, I am not sure how should I handle the edit event on JComboBox.
    Particularly, here is the use-case I wish to handle.
    User edited the JComboBox by clicking back space key. I want to fire an event once user is done editing. How can I find if user is done editing ?

    User, please always tell us your jdev version.
    In general you use a valueChangeListener which is fired when the user tabs out of the field...
    Timo

  • Jdev 10.1.2 UIX: How to handle page event and also follow link destination

    Hello guys, I think this should be easy:
    I have a frame with a link that produces an event which is handled by an event handler. But this link also has destination and targetFrame attributes.
    The event handling just updates the visual state of the frame which contains the link, but I also need the link to load the destination into the targetFrame, but this is not happening, just the event is handled but the link doesn't work.
    How can I get both, the event handling and the destination, work?
    Here is the code for the link:
    <link text="${uix.current.title}" destination="${uix.current.destination}"                                                             
                    targetFrame="main">
      <primaryClientAction>
       <fireAction event="optionClick">
         <parameters>
           <parameter key="clickedIndex" value="${uix.current.index}" />
          </parameters>
        </fireAction>
      </primaryClientAction>
    </link>Thanks
    Fer

    Thanks to everyone who read it. I figured out how to solve this.
    The workaround was to set every link destination to one action which performs 2 things:
    1. Update the visual state of the first frame (setting attributes to a session object) and;
    2. Puts the destination that I wanted to be loaded into the second frame as a request attribute;
    besides all the above, the link had its targetFrame set to "_parent", so the Frameset page was reloaded and therefore reloaded both frames, this way the first frame renders updated (thanks to the changes made to the session object) and the second frame has its source attribute bound to ${requestScope.frameDestination} to load the desired page (actually a struts action).
    Hope this helps someone else.
    Bye.

  • How to handle this : event.result[0].parameter1[0].parameter2[0]

    hi,
    i know we can reach
    aComponentSample["sampleControl" + i + ""].visible = false;
    aComponentSample is a component and contains lot of controls. for example; sampleControl1, sampleControl2.. and so we can reach them via parameters (like i) with this ["sampleControl" + i + ""]. usage.
    i am wondering how can i handle this in resultEvent?   how can i give the child nodes (parameterA) via parameter?
    event.parameterA[0].parameterB[0].parameterC[0]
    thank you for your time. have a good day.

    hi again, i think i could not express clearly.
    i have a web service operation result handler, and this operation back in "object" format.
    thats the handler
                private function getFullWeatherValues_Handler(e:ResultEvent):void
                    var obj:Object = e.result[0].regions[3].cityValues[5].temperature;                (it returns integer)
    i can get the exactly temperature which i want but i don't want to writethose "result[0]" or "regions[3]" or "cityValues[5]" and even temperature.
    i want to write a function to reach a value ( for example temperature) which gived as parameter and  i will give all other  "result[0]" or "regions[3]" or "cityValues[5]" as parameter to. my question is how can i handle it?
    thank you for your answer,  any advice will be great.

Maybe you are looking for

  • How to make an object getting out of the screen ?

    Hello everybody ! I am creating a game introduction with Flash pro CS6 and here's is my problem. I want a object in my animation to leave the screen, but I dont know how to do it. Is there for example, a way to delimited the working area, so that whe

  • Purchase Order Currency on PDF

    Dear SAP experts, I have a vendor whose 'Conditions-Order Currency' in the 'Vendor: Purchasing Data' is updated with 'DKK' (Danish Kroner). I normally create PO for this vendor with either DKK or USD currency. There is no issue when the PO is updated

  • How can I detect gaps in a sequence?

    I've a very long sequence with many footage in the timeline. Every time I want to check a sequence for missing film parts I have to scroll through the whole film and see if there are no parts where there's no film or audio. I was wondering if there i

  • What first - rollnames, comments, keywords, or albums?

    I'd like an idea how to get started with organizing approx. 20,800 pics (they are on the drive and ready to go!). The current roll names arent the greatest and really arent organized - but if I am making albums, etc. I dont think that matters,right?

  • Same no video problem as a lot of people...

    Trying to do video chat with friends how have ichat. It works with my wife's parents - but the video quality is very poor. It won't work with my dad or friend...very frustrating. Here is my error log: Date/Time: 2008-05-22 21:06:19.728 -0400 OS Versi