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 に答える