ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   超ビギナー
     ItemRendererに変数をセットする方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
jinyana
投稿日時: 2015-5-16 14:35
常連さん
登録日: 2008-6-13
居住地: 仙台市
投稿: 33
ItemRendererに変数をセットする方法
お世話になります。
データグリットに、クリックでデータを入力する方法をitemRendererを使用して行うというのを教えて頂きました。

ありがとうございました。

http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=5998&forum=16&post_id=19367#forumpost19367

TestItemRenderer .as

package
{
import flash.events.MouseEvent;

import mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer;

public class TestItemRenderer extends AdvancedDataGridItemRenderer
{
public function TestItemRenderer()
{
super();
this.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler);
}

protected function onMouseDownHandler(event:MouseEvent):void
{
this.data.col2 = "あ";
}
}
}



後は、this.data.col2 = "あ";のところに変数のセットということで、軽く見て取りかかったのですが、どうも、itemRendererの中に変数を作ることは出来る様なのですが、親の変数をセットできなくて悩んでおります。

別なasファイルを作って双方から見ようとしたのですが、それもうまくゆきませんでした。

このような場合、ここ(this.data.col2 = "変数";)に親で指定した変数セットする場合は、どのようにしたらよろしいでしょうか。

お休みの中恐縮ですが、ご教授いただけますとありがたいです。

毎度毎度すみません。
Deyan
投稿日時: 2015-5-18 19:29
常連さん
登録日: 2006-7-10
居住地: 板橋区
投稿: 34
Re: ItemRendererに変数をセットする方法
あまりスマートではないですが、こんな感じでいけます。

AdvancedDataGridTest.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            
            [Bindable]
            private var Data1:ArrayCollection = new ArrayCollection([
                {col1:1, col2:"", col3:"青森"},
                {col1:2, col2:"", col3:"秋田"},
                {col1:3, col2:"", col3:"岩手"},
                {col1:4, col2:"", col3:"宮城"},
                {col1:5, col2:"", col3:"山形"},
                {col1:6, col2:"", col3:"福島"},
                {col1:7, col2:"", col3:"北海道"},
                {col1:8, col2:"", col3:"新潟"},
                {col1:9, col2:"", col3:"栃木"},
                {col1:10, col2:"", col3:"茨城"}
            ]);
            
            public static function get testDataString():String
            {
                return "あ";
            }
            
        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をこ こに配置 -->
        
    </fx:Declarations>
    
    
    <s:Panel width="100%" height="100%">
        <mx:AdvancedDataGrid id="adg1" x="46" y="105" width="270" designViewDataType="flat"
                             dataProvider="{Data1}" editable="true">
            <mx:columns>
                <mx:AdvancedDataGridColumn dataField="col1" headerText="列 1" editable="false"/>
                <mx:AdvancedDataGridColumn dataField="col2" headerText="列 2" editable="true" itemRenderer="TestItemRenderer"/>
                <mx:AdvancedDataGridColumn dataField="col3" headerText="列 3" editable="true"/>
            </mx:columns>
        </mx:AdvancedDataGrid>
        
    </s:Panel>
</s:Application>


TestItemRenderer.as

package
{
    import flash.events.MouseEvent;
    
    import mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer;
    
    public class TestItemRenderer extends AdvancedDataGridItemRenderer
    {
        public function TestItemRenderer()
        {
            super();
            this.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler);
        }
        
        protected function onMouseDownHandler(event:MouseEvent):void
        {
            this.data.col2 = AdvancedDataGridTest.testDataString;
        }
    }
}
jinyana
投稿日時: 2015-5-20 10:05
常連さん
登録日: 2008-6-13
居住地: 仙台市
投稿: 33
Re: ItemRendererに変数をセットする方法
Deyan 様

前略、重ね重ねありがとうございました。

無事、変数によって作成することができました。

本当に感謝しております。

いつも、教えて頂くことばっかりで恐縮です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を