在标题呈示器中访问高级数据网格的列字段属性

时间:2012-08-06 12:46:32

标签: actionscript-3 flex flex3 advanceddatagrid

我必须在标题渲染器中访问高级数据网格的列字段属性。     基本上我想要实现的是,每当我点击列标题字段时,其相应的列字段就可以像警报一样被提取。

以下是我的高级datagrid分组列代码: -

    <mx:groupedColumns>
    <mx:AdvancedDataGridColumn dataField="Category"  sortable="false" headerWordWrap="true" wordWrap="true" width="150"/>
    <mx:AdvancedDataGridColumnGroup id="dgSampleGridGroup" headerText="Student" fontFamily="Arial" backgroundColor="0xd7e9f8" childrenDragEnabled="false">

    <mx:AdvancedDataGridColumn  dataField="Name"  sortable="false" headerWordWrap="true" wordWrap="true"  headerRenderer="customHeaderRenderer"/>

    <mx:AdvancedDataGridColumn dataField="Branch" sortable="false" headerWordWrap="true" wordWrap="true"/>

    <mx:AdvancedDataGridColumn dataField="RollNumber" sortable="false"  wordWrap="true"/>

    </mx:AdvancedDataGridColumnGroup>
    </mx:groupedColumns>

下面是我使用的标题渲染器:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
        <mx:Script>
            <![CDATA[
                import flash.net.navigateToURL;

                import mx.controls.Alert;

                override public function set data( value:Object ) : void {
                    super.data = value;
                } 

                protected function linkbutton1_clickHandler(event:MouseEvent):void
                {
                    Alert.show("Column 1:Student Name");        
                     Alert.show("Group Header",this.parentDocument.groupHeader); 
                }

            ]]>
        </mx:Script>

        <mx:LinkButton label="Student Name"  click="linkbutton1_clickHandler(event)" width="50"/>

    </mx:HBox>

这里我简单地使用列标题名称对警报进行了硬编码。     我想获取列标题字段,以便我可以重用所有列的标题渲染器。     请帮帮我。

1 个答案:

答案 0 :(得分:0)

您可以设置数据网格列的ID,如

<mx:AdvancedDataGridColumn id="colName"  dataField="Name"  sortable="false" headerWordWrap="true" wordWrap="true"  headerRenderer="customHeaderRenderer"/>

然后访问colName.headerText。

这应该有效,随时可以提出任何问题。