以编程方式关闭dateField组件

时间:2010-10-17 00:17:49

标签: flex actionscript-3

我正在使用dateField组件(带有editable = true)作为dataGrid中的itemEditor。有趣的是,当编辑dateField的textInput部分时,它似乎没有像我期望的那样对ESC keydown作出反应,即重新加载旧的dateField值并放弃焦点。这似乎是大多数其他组件的标准,但不像大多数其他组件那样。

您将如何实施此类行为? 我可以在TextInput部分听取keydown == escape,但只是意识到我不知道如何告诉dateField放弃焦点并礼貌地关闭 - 事实上我甚至不确定这是正确的策略(也许我应该在DataGrid级别工作???)。

任何想法都将不胜感激!

谢谢

˚F

1 个答案:

答案 0 :(得分:2)

好的,明白了。在itemEditor类中的keydown处理程序中,当处理keyCode == Keyboard.ESCAPE时,

var adg:AdvancedDataGrid = this.owner as AdvancedDataGrid;
adg.destroyItemEditor();

似乎可以解决问题。

˚F