Results 1 to 4 of 4

Thread: focus out of gridpanel on last cell

  1. #1
    Sencha User
    Join Date
    Jun 2012
    Posts
    16
    Answers
    1
    Vote Rating
    0
      0  

    Default Unanswered: focus out of gridpanel on last cell

    I have a Ext.grid.Panel followed by an Ext.form.Panel. In ExtJS 3 we were able to tab from the last cell in the grid to the first field in the form. Is this still possible?

  2. #2
    Sencha Premium User
    Join Date
    Mar 2011
    Posts
    286
    Answers
    35
    Vote Rating
    47
      0  

    Default

    In ExtJS 4.x there is a Ext.FocusManager that can be used to handle keyboard navigation.

    Is this what you're looking for?

  3. #3
    Sencha User
    Join Date
    Jun 2012
    Posts
    16
    Answers
    1
    Vote Rating
    0
      0  

    Default

    Quote Originally Posted by chamacs View Post
    In ExtJS 4.x there is a Ext.FocusManager that can be used to handle keyboard navigation.

    Is this what you're looking for?
    I have enabled this, but am not sure how to apply it to the grid to catch the tab event. It seems to only highlight the currently active cell and not alter its behavior.

    As you can see in this fiddle http://jsfiddle.net/kurasp/adNMA/

    I have even tried setting up Ext.util.KeyNav, but it doesn't fire in the grid (no popup), while it does fire in the form field.

    Any help would be greatly appreciated.

  4. #4
    Sencha User
    Join Date
    Jun 2012
    Posts
    16
    Answers
    1
    Vote Rating
    0
      0  

    Default

    I was able to resolve this with somewhat messy code, but it works. It invlolved using the specialkey listener in the editor of the textfield.

    columns: [{
    .
    .
    .
    editor: Ext.create('Ext.form.field.Text', {
    listeners:
    {
    specialkey: function( thisColumn, event, eOpts )
    {
    var myGridPanel = this.up().up();
    var myStore = myGridPanel.getStore();
    var selectedRow =myStore.indexOf(myGridPanel.view.getSelectionModel().getSelection([0])[0]);
    if(selectedRow+1 === myStore.getCount())
    {
    if(event.getKey() == Ext.EventObject.TA
    {
    event.preventDefault();
    Ext.EventObject.stopPropagation();
    Ext.getCmp('field1').focus(false, 1);
    }
    }
    }
    }
    })
    }
    ]

    See: http://jsfiddle.net/kurasp/adNMA/11/

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •