ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   超ビギナー
     AdvancedDataGridに予め変数で設定した内容を記述する方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
jinyana
投稿日時: 2015-5-14 18:01
常連さん
登録日: 2008-6-13
居住地: 仙台市
投稿: 33
AdvancedDataGridに予め変数で設定した内容を記述する方法
前略、いつもお世話になっております。
超初心者なので頓珍漢な質問かもしれません。
色々サイトを見たのですが、解決しそうで出来ない状態です。
どうぞ、よろしくお願いします。

内容は、AdvancedDataGridに予め変数で設定した内容を表示する方法です。
単純にセルを、 editable="true"にして文言を入れると入るのですが、
それを、mouseDownをしたときに、特定の文字(ここでは、private var data:String = "あ";)をセットしたいと考えております。
色々と試しているのですが、基本が出来ていないので挫折です。
どなたか、ご教授いただけませんでしょうか?
col2に値を入れたい。
よろしくお願いします。

以下に、ソースを記述しておきます。
importはいろいろ試した残骸です。気にしないでください。


<?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;
import mx.data.events.DataConflictEvent;
import mx.events.ListEvent;


[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:"茨城"}
]);

private var data:String = "あ";

protected function adg1_mouseDownHandler(event:MouseEvent):void
{
// ここに何を書けばよいかがわからないのです。


}



]]>
</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}" mouseDown="adg1_mouseDownHandler(event)"
editable="true" >
<mx:columns>
<mx:AdvancedDataGridColumn dataField="col1" headerText="列 1" editable="false"/>
<mx:AdvancedDataGridColumn dataField="col2" headerText="列 2" editable="true"/>
<mx:AdvancedDataGridColumn dataField="col3" headerText="列 3" editable="true"/>
</mx:columns>
</mx:AdvancedDataGrid>


</s:Panel>
</s:Application>
Deyan
投稿日時: 2015-5-15 15:07
常連さん
登録日: 2006-7-10
居住地: 板橋区
投稿: 34
Re: AdvancedDataGridに予め変数で設定した内容を記述する方法
カスタムアイテムレンダラーを作る必要がありますね。やっつけですが、こんな感じでひとまずできました。

<?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:"茨城"}
            ]);
            
        ]]>
    </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 = "あ";
        }
    }
}
jinyana
投稿日時: 2015-5-16 8:56
常連さん
登録日: 2008-6-13
居住地: 仙台市
投稿: 33
Re: AdvancedDataGridに予め変数で設定した内容を記述する方法
Deyanさんへ

ありがとうございました。
出来ました。 感謝感謝です。


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を