Apache flex 带焦点的新网格行

Apache flex 带焦点的新网格行,apache-flex,flex3,Apache Flex,Flex3,我试图创建一个可编辑的DataGrid,当用户在最后一行的最后一列中按TAB键时插入新行 我的网格: <mx:DataGrid id="myGrid" dataProvider="{initDG}" editable="true" itemFocusOut="onItemFocusOut(event)"> <mx:columns> <mx:DataGridColumn dataField="Company"

我试图创建一个可编辑的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>
它工作正常,这意味着它插入了一个新行。问题是flex关注下一个组件,我需要它关注最近创建的行

可能吗


如果我是你,我就不会那样做。Tab是一个众所周知的键盘快捷键,用于转到下一个单元格或下一行(如果位于最后一个单元格)。删除该功能将妨碍标准功能的正常运行


话虽如此,如果您想这样做,您可以尝试“截获”键盘事件并对事件执行“StopImmediateProposition()”,也可以扩展DataGrid为选项卡添加您自己的功能。

您有机会尝试我发布的答案吗?如果它有助于解决您的问题,您可以通过单击“^”箭头向上投票,并通过单击“我的答案”旁边的复选标记图标将其标记为已接受的答案。
      protected function onItemFocusOut(e: DataGridEvent):void{
        if((e.rowIndex == (initDG.length - 1)) && 
           (e.columnIndex == (myGrid.columnCount -1))){
          initDG.addItem({Company: 'New one', Contact: ''});
        }
      }