内联 itemRenderer
12月 20th, 2006 — Dreamer英文原文:《Inline itemRenderer》
原文地址:http://weblogs.macromedia.com/pent/archives/2006/12/inline_itemrend.cfm
原文作者:Peter Ent
译者:Dreamer。 本文未经同意,谢绝转载。
近来我很高兴和我们的一个客户Davita 的 Ryan Green一起工作,他同意我公开这一段代码。我喜欢这段代码因为它虽然很简单然而却包含了很多有趣的东西。在这个例子中我对Ryan 的原始代码做了一些更改。
下载例子源码:点击这里
我从别人那里听到过一些问题,他们将按钮或者其他的交互式组件放到DataGrid的一个单元格中并且想知道如何通过按钮来改变DataGrid。一个常见的使用就是删除本行记录。这里介绍了一种方法,在一个简单的订单列表中,点击"add to cart"链接会减少库存中货物的数量。当数量减少到0的时候该链接就会被禁用而且其标签更改为“out of stock”。
让我们从声明DataGrid开始。你将会看到一个内联的itemRenderer,对于此问题来说这是一个优雅的解决方案。你也可以使用一个代码相同的自定义组件作为itemRenderer。
private function sendEvent() : void ]]>
width="390" height="169">
<mx:columns>
<mx:DataGridColumn headerText="Product" dataField="product"/>
<mx:DataGridColumn headerText="Quantity" dataField="quantity"/>
<mx:DataGridColumn headerText="Order" dataField="action" >
<mx:itemRenderer>
<mx:Component>
<mx:LinkButton label="{data.action}"
enabled="{data.quantity > 0}"
click="sendEvent()">
<mx:Script>
<








谢谢你的文章帮助我解决了一个棘手的问题!