Новая строка сетки с фокусом - PullRequest
2 голосов
/ 26 мая 2011

Я пытаюсь создать редактируемый DataGrid для вставки новой строки, когда пользователь нажимает TAB в последнем столбце последней строки.

Моя Сетка:

  <mx:DataGrid id="myGrid"
      dataProvider="{initDG}" editable="true"
      itemFocusOut="onItemFocusOut(event)">
      <mx:columns>
          <mx:DataGridColumn dataField="Company" editable="false"/>
          <mx:DataGridColumn dataField="Contact"/>
      </mx:columns>
  </mx:DataGrid>

Мое событие onItemFocusOut:

      protected function onItemFocusOut(e: DataGridEvent):void{
        if((e.rowIndex == (initDG.length - 1)) && 
           (e.columnIndex == (myGrid.columnCount -1))){
          initDG.addItem({Company: 'New one', Contact: ''});
        }
      }

Работает нормально, то есть вставляет новую строку. Проблема в том, что flex фокусируется на следующем компоненте, и мне нужно, чтобы он фокусировался на недавно созданной строке.

Возможно ли это?

Thnaks

1 Ответ

3 голосов
/ 26 мая 2011

Я бы не стал этого делать на твоем месте. Tab является очень известным сочетанием клавиш для перехода к следующей или следующей строке, если она находится в последней ячейке. Удаление этой функциональности будет препятствовать стандартной функциональности.

С учетом вышесказанного, если вы хотите это сделать, вы можете либо попытаться «перехватить» событие клавиатуры и выполнить «stopImmediatePropogation ()» для этого события, либо вы можете расширить DataGrid, чтобы добавить свою собственную функциональность для Tab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...