为 dataGrid 中的组件提供值
Posted
技术标签:
【中文标题】为 dataGrid 中的组件提供值【英文标题】:Providing values to components in a dataGrid 【发布时间】:2010-11-10 00:47:16 【问题描述】:我有以下内容。 :
mx:DataGridColumn headerText="Time" editable="false" mx:itemRenderer mx:组件 mx:H框 mx:NumericStepper id="TimeHour" stepSize="1" minimum="0" value="0" maximum="23"/ mx:NumericStepper id="TimeMinute" stepSize="5" minimum="0" value="0" maximum="55"/ /mx:H框 /mx:组件 /mx:item 渲染器 /mx:数据网格列如何将数据提供者(对象数组)中的值提供给这些单独的数字步进器。 dataField 似乎不能在 NumericStepper 标记中提及。
帮助。
P.N :忽略 mxml 的开始标记和结束 tgs。问题显示不正确。
【问题讨论】:
【参考方案1】:如果我没记错的话,您可以像这样访问数据:
【讨论】:
好的...有一件事,这里是“yourObject”。是不是直接就是我的dataprovider名字的参数名。如果我直接给出参数名称,它会说无法绑定到参数,尽管声明可绑定。 它应该是 yourValue,我已经编辑了我的原始评论。 data 是数组中的当前对象,因此 yourValue 是该对象的属性。 我尝试了上述方法。它说警告:无法绑定到类 'utils::TimeDO' 上的属性 'TimeHour' 这是一个相当常见的警告,不应影响代码的结果。 bugs.adobe.com/jira/browse/SDK-13814【参考方案2】:不应永远忽略绑定警告。他们告诉您,您尝试在运行时使用的属性实际上是可绑定的,对其值的更改将不会传播,即您不会在视图中看到对数据的更改。由于 itemRenderers 实例被回收,因此它们的数据属性会随着用户滚动列表、网格等而反复更改。你基本上不会得到你想要的。
您必须在这里做几件事。首先,确保 ArrayCollection 中您提供给网格的对象本身是 [Bindable] 或至少要显示的属性是 [Bindable]。
其次,我猜您希望步进器实例也修改这些值。您应该阅读标题为“创建项目渲染器和项目编辑器”的文档部分,了解您正在尝试执行的操作的示例。
【讨论】:
以上是关于为 dataGrid 中的组件提供值的主要内容,如果未能解决你的问题,请参考以下文章