2

这是我的问题的图像:我正在使用组合框作为 Datagrid ItemEditor(不仅仅是渲染器,我的渲染器是标签,双击单元格使组合框可见,就像所有项目一样编辑)

现在,在组合框中选择一个条目是没有问题的。但我的问题是只有当我选择“水果”时,它又会弹出另一个名为“选择水果”对话框的图层

问题:

我如何保留项目编辑器,而重点是图层;现在只要我点击水果,我的处理程序就会弹出“选择水果”对话框,焦点在图层上。一旦焦点离开编辑器,ItemEditor 就会消失,ItemRenderer 标签会回来。

我想让 ItemEditor 保持活力!我在哪里连接开始/结束 ItemEdit 等事件?

Flex:项目编辑器,失去焦点!

4

2 回答 2

1

您可以通过侦听 DataGridEvent.ITEM_EDIT_END 来保持 itemEditor 处于活动状态。然后你有更多的控制权去做你想做的事。我博客中的一些仅供参考:

DataGridEvent.ITEM_EDIT_END - 从单元格中移除焦点时调度 - 基于列表的控件的默认事件侦听器将

1)使用.editorDataFrield属性确定item editor的属性来存储编辑后的数据;在默认 TextInput 控件的项目编辑器中,“text”属性将包含新数据。

2) 根据事件的原因调用 destoryItemEditor()

  • 您可以通过使用 event.preventDefault() 来中断默认的基于列表的控件的默认事件侦听器

a) 修改项目编辑器返回的数据

b) 检查/验证输入到项目编辑器中的数据;如果数据不正确,您可以停止 Flex 将数据从项目编辑器传回基于列表的控件

http://knowledge.lapasa.net/?p=153

于 2011-07-19T17:29:09.800 回答
0

尝试失去您的 ItemEditor 的焦点。转到组合框更改侦听器

protected function comboBox_changeHandler(event:ListEvent):void
{
// set focus out event on datagrid. Its like clicking outside the datagrid
event.target.parent.parent.parent.dispatchEvent(new FocusEvent(FocusEvent.FOCUS_OUT);

}
于 2014-05-07T21:21:17.580 回答