0

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

以下是我的高级数据网格分组列代码:-

    <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>

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

4

1 回答 1

0

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

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

然后访问 colName.headerText。

这应该可行,请随时提出任何问题。

于 2012-10-24T09:17:28.457 回答