【问题标题】:Accessing advanced datagrid renderer elementns访问高级数据网格渲染元素
【发布时间】:2014-08-13 12:12:06
【问题描述】:

在 AdvancedDataGridRendererProvider 中,我为渲染器属性分配了 customItemRender。

这是我的代码:

<mx:AdvancedDataGrid id="productADG" dragEnabled="true" displayItemsExpanded="true"
        dropEnabled="true" variableRowHeight="true"
        headerHeight="40" minHeight="5000" height="1000" 
        sortableColumns="false" 
        sortExpertMode="true" width="100%"                                                    
        defaultLeafIcon="{null}" folderOpenIcon="{null}"
        openDuration="400" headerWordWrap="true" >

    <mx:dataProvider>
        <mx:HierarchicalData id="hd" source="{productXML.product}" />
    </mx:dataProvider>

    <mx:columns>
          <mx:AdvancedDataGridColumn dataField="@productName" headerText="Product"  
                 width="120" wordWrap="true"/>
          <mx:AdvancedDataGridColumn dataField="@descriptionTxt" headerText="Description" 
                 width="165" wordWrap="true"/>
          <mx:AdvancedDataGridColumn width="145" headerText="Tools" id="toolsCol" 
                 resizable="false"/>
    </mx:columns>

    <mx:rendererProviders>
            <mx:AdvancedDataGridRendererProvider id="compRend" depth="2" 
                renderer="customItemRender" column="{toolsCol}"/>
    </mx:rendererProviders>
</mx:AdvancedDataGrid>

customItemRender.mxml

<mx:HBox width="100%">
   <mx:Button id="editBtn"/>
</HBox>

我们如何从主页面的customItemRenderer访问“editBtn”(Datagrid驻留)

我想从主页手动调度点击事件(数据网格驻留)..

【问题讨论】:

  • 介意我问你为什么要从按钮强制事件?

标签: actionscript-3 apache-flex actionscript flex4 flex4.5


【解决方案1】:

我不确定 mx 组件,但在 Spark 中,您可以使用 getElementAt() 从 itemRenderer 访问项目。

var renderer:customItemRender = productADG.getElementAt(0) as customItemRender;

也许 mx 有一个等价物?

但在您的情况下,听起来您只想在单击编辑按钮时执行一些特定功能。我建议在单击按钮时从 ItemRenderer 中调度一个自定义事件。确保事件冒泡。在主页中,只需监听 DataGrid 上的自定义事件。

customItemRender.mxml

<mx:HBox width="100%">
   <mx:Button id="editBtn" click="dispatchEvent(new Event('SomethingHappened', true));"/>
</HBox>

在主页中,只需为“SomethingHappened”添加一个事件监听器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 2022-08-17
    • 2014-09-14
    • 1970-01-01
    • 2020-07-14
    相关资源
    最近更新 更多