0

まず、私の語学力を無視してよかったと思います。SDK 4.6.0 (flex+php) を使用してフレックスでオンライン アプリを作成しています。

私がやろうとしているのは、あるデータグリッド列のデータを別のデータグリッドから変更することです (または、より単純な場合は同じです)。

私のデータグリッドは次のようになります:

id | name | type | type1 | type2 | type3 | ... | type52

このグリッドのデータ プロバイダーは db テーブルであり、結果は新しい arrayCollection として取得されます。type 列に必要な typeX 列データを使用して、この新しい arrayCollection を作成したいと思います。各タイプの行数は同じです。typeX の選択は、データグリッドに配置されていないボタンを押すことによって行われます。私が使用しているアプリの他の部分などで列が表示される機能は解決策ではありませんdataFiled="type" as text{function}

追加情報が必要な場合はお知らせください。

4

1 に答える 1

0

ObjectProxyクラスを使用できます。例えば:

package {

import flash.utils.flash_proxy;

import mx.utils.ObjectProxy;

public class Wrapper extends ObjectProxy {

    public function Wrapper(item:Object = null) {
        super(item);
    }

    override flash_proxy function getProperty(name:*):* {
        if (name == "type1")
            return "someValue";

        if (name == "type2")
            return "otherValue";

        return super.flash_proxy::getProperty(name);
    }
}
}

また、ArrayCollectionを作成するときは、次の関数を使用します。

public function wrapCollection(arrayCollection:IList):IList {
    var list:Array = [];
    for each (var item:Object in arrayCollection) {
        list.push(new Wrapper(item));
    }
    return new ArrayCollection(list);
}

これで、dataFieldstype1type2

于 2012-09-15T19:26:02.373 に答える