apache-flex - 访问 DataGrid 中的 ItemRenderer

标签 apache-flex actionscript-3 actionscript flex3

我有一个数据网格,它在 cloumn 中有一个复选框项目渲染器以允许行选择:

主要应用:
<mx:DataGrid id="dg"> <mx:columns> <mx:DataGridColumn id="ir" itemRenderer="renderers.RowCheckbox" /> <mx:DataGridColumn dataField="Name" headerText="Name" /> </mx:columns> </mx:DataGrid>
元素渲染器:
<-- RowCheckbox --> <?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center"> <mx:CheckBox id="chk"/> </mx:HBox>
如何获得项目渲染器/复选框的句柄,以便我可以确定检查哪些行?

最佳答案

提个建议:我们在应用程序中遇到了类似的问题,我们通过向数据网格的数据提供者中的实体添加“选定”属性来解决它。 checkBox 的 selected 属性然后绑定(bind)到我们实体的 selected 属性。要知道选择了哪些,我们只需遍历 dataprovider 中的实体而不是项目渲染器。经过很多不同的方法,这确实是最好的选择。

如果我没记错的话,问题是 itemrenderers 没有正确记住选定的状态,并且当您上下滚动时数据网格完全困惑了。滚动后选择了错误的行。

另一种选择是在项目渲染器中调度一个事件,该事件一直冒泡到托管数据网格的控件。然后,您可以监听这些事件并更新您的模型以反射(reflect)更改。

关于apache-flex - 访问 DataGrid 中的 ItemRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/524725/

相关文章:

actionscript-3 - 如何使用 as3 类访问舞台上的电影剪辑?

javascript - 将 Actionscript 转换为 Javascript

java - BlazeDS 轮询间隔设置为 0 : Unwanted side-effects?

html - JSON 作为 Flex 中的 HTML 数据 - 超链接翻转

apache-flex - 最小化 Flex 应用程序大小的一般提示和技术

html - HTML Loader 中的输入元素在 adobe AIR 中是只读的

flash - 如何集成 Flash Professional 和 Flash Builder?

android - AsyncTask 也在 flash 中?

ruby - Textmate 中损坏的切换评论

asp.net - .net http 处理程序重定向到 rtmp 和 flex