|
|
1
3
我使用一个mx:vbox作为自定义项呈现器,其中renderReseditor=“true”用于我的数据报,我也遇到了标签顺序问题。 我发现itemRenderer需要实现ifocusManagerComponent,以便主应用程序的focusManager()能够正确地标记到它。我尝试实现这个接口:
…而且要实现的接口函数太多了。 但是,在我的例子中,我很幸运;我的itemrenderer中只有一个textInput元素(其余都是自定义代码、验证器和格式化程序),因此我将itemrenderer从mx:vbox转换为mx:textInput(它已经实现了ifocusManagerComponent):
哇!我的标签订单问题已解决。 我想对于那些拥有更复杂itemrenders的人来说,结论是您需要在类中完全实现ifocusManagerComponent接口……这可能很好,因为看起来它会告诉flex如何通过itemrenderer字段自定义选项卡。或者您可以将顶级标记更改为已经实现接口的内容,例如:可以将mx:vbox嵌套在类似以下内容的内容中吗?
…也许还能用?一个拥有比我更复杂代码的人应该尝试一下看看会发生什么。 |
|
|
2
3
我在“listbase-derived”组件中使用的itemRender遇到了同样的问题。 我发现所有“listbase派生的”组件都将所有项目呈现器包装在listbaseContentHolder中。 从ListBase源:
这个 表孩 和 表格化的 默认情况下,此类的属性设置为false。我唯一能找到的解决方法是创建一个从列表派生的MyList组件,并通过以下方式重写CreateChildren方法(其中ListContent是初始化的):
然后使用“<mylist tabchildren=”true“/>”而不是“<mx:list/>”组件返回了itemprender中的选项卡功能。 希望它有帮助, |
|
|
3
0
我想我可能朝着正确的方向前进,但我还没有完全做到。 我有我的主要应用程序,Horizontallist使用自定义项渲染器:
我更新了原始问题中的代码示例,以包含整个项呈现器MXML(适用部分);下面是操作脚本代码:
实际上,我在这里要做的是通过检查每个文本字段的tab key on key_down事件重新实现tabbing,并使用它将焦点移动到下一个文本输入(从上一个到第一个文本输入)。不过,这并没有预期的效果,焦点仍然会跳到这个水平仪之外的下一个控件。 你知道从这里到哪里去吗? |
|
|
4
0
你为什么这么做tabchildren=“false”?你不想把霍齐安塔利斯特的孩子们当标签吗?因为itemrenderer是列表的子级… |
|
|
5
0
我用的方法似乎不可能做到这一点。我没有使用带有自定义项渲染器的列表,而是切换到单个项视图组件和单独的列表来显示所有项的摘要,这让我解决了我的问题。 |
|
|
6
0
我有同样的问题,通过尝试重新实现选项卡按钮的行为来解决它。成功的线索就是
|
|
|
7
0
|
|
|
8
0
我在advancedDataGrid中有一个项呈现器的tabbing问题(顺便说一句,我使用的是flex sdk 3.5),但是这篇文章非常有帮助,让我可以使我的选项卡友好的项呈现器,所以我也愿意做出贡献:) 要使其正常工作,还需要更改网格和GridColumn上的一些属性。 我们先来谈谈网格和网格列。 众所周知,当您将网格的“可编辑”属性设置为“真”时,您可以在每个列单元格中进行制表(假设您没有将列的“可编辑”属性设置为“假”)。 第1步 ,使网格的“可编辑”属性设置为“真” 第2步 ,使网格的列“可编辑”属性也设置为“真”,“renderReseditor”设置为“真” 将数据字段设置为假字段很重要,因为我们将渲染器设置为编辑器,这意味着在项渲染器中更新的任何内容都将分配给数据字段,即将数据字段设置为“foo”,该字段具有int类型,并且有非基元对象填充组合框项渲染器。当您进行选择时,该对象将被分配给“foo” 第3步 使网格的列“datafield”属性也设置为假字段。 现在,让我们来做一件事情,使tabbing能够在itemrenderer上工作。 我知道这不是一个优化版本,但这将在第一次通过。
关于如何在项渲染器上使用它的示例:
然后把它放在网格列中就行了。 享受。 |
|
|
9
0
基本上,您希望删除焦点更改事件的默认行为。我认为你需要这样做:
|