为 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 中的组件提供值的主要内容,如果未能解决你的问题,请参考以下文章

标头为“*”的 DataGridColumn 已存在于 DataGrid 的 Columns 集合中

DataGrid和Silverlight

将更改的 DataGrid 更新到数据库?

获取wpf datagrid单元格编辑事件

flex从datagrid组件中的按钮返回rowIndex

easyui datagrid怎么可以移除多行呢, 请教高手