Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Cannot use "Tab" to leave a table with alwaysShowEditors set to true

    Hi there,

    In the application I'm working on, it has to be possible to move through every element that is able to receive focus using the tab key. This works in all situations except ListGrids with alwaysShowEditors set to true.

    I've set rowEndEditAction to different values but the result was always the same: I cannot leave the table (nor the current row for that matter) using the tab key.

    Here is code that reproduces the problem:
    Code:
    public void onModuleLoad() {
          class SimpleRecord extends ListGridRecord {
             public SimpleRecord(String name, String title) {
                this.setAttribute(name, title);
             }
          }
          
          ListGrid g = new ListGrid();
          g.setFields(new ListGridField("1", "Column 1"));
          g.setData(new ListGridRecord[] {
                new SimpleRecord("1", "Row 1"),
                new SimpleRecord("1", "Row 2")
          });
          g.setAlwaysShowEditors(true); // Delete this line to make the tab key work
          
          Layout l = new VLayout();
          l.addMember(g);
          l.addMember(new Button("Focus Me"));
          l.draw();
    }
    After pressing tab once, the first text field is focused. From now on, nothing happens when pressing tab (in tables where there are more than a single column, tab will move between the columns in the current row).

    Is there anything I can do to make tab leave the field and eventually the ListGrid?

    #2
    This looks like an actual bug. As a workaround, just programmatically move focus out of the grid if you detect a tab in the last cell.

    Comment

    Working...
    X