私は数時間検索しましたが、私の問題の答えは見つかりませんでした。コンボボックスにUNIQUEデータのデータグリッドを挿入するにはactionscript(flex)
私は、ダイナミックデータで埋められたデータグリッドにコンボボックスを配置しようとしています。 (これらのコンボボックスの数と内容は常に変更されますが、コンボボックスを使用する必要があるカラム数は事前に分かりませんので、すべてのコンボボックスは外部ソースから来るユニークなデータプロバイダを取得します。
-iこの問題を議論しているスレッドが見つかりましたが、厄介なmxmlファイルで解決し、ソースコード内のコンボボックスを手作業で埋めてください。私は指摘したい、それは私にとっては良くない。
-iは、インターネットからデータを取得するために、ある種のカスタムitemrendererを使用した、より良い解決策を見つけました。世界の国々の数と名前は多かれ少なかれ静的なものであり、変化しないので、悲しいことに、それは十分ではありませんでした。レンダラークラスはメインアルゴリズムのパラメータに依存しませんでした。
私のプログラムでは、私自身のactionscriptオブジェクトのデータを計算し、それをarraylistに入力します。ですから、最初からネットから目的のデータを読み込み、urlrequestの応答を取得したら、データグリッド/コンボボックスにデータを書き込むようにしてから始めてください。
データグリッドまたはコンボボックスを問題なく埋めることができますが、データグリッドセル内にそのコンボボックスを配置することは不可能です。
誰でもお手伝いできますか?それは私を狂ってしまう。私はいくつかの言語で、C#、java、さらにはPHP + htmlでもこれをやっていましたが、フレックスではあまりにも複雑に見えます。
EDIT: このネットワークアクティビティがサーバーに負荷をかける可能性があります。私はそれの背後にある哲学をデザインしていませんでした。私は期待に応えるクライアントを書くだけでいいです。
(私はちょうどそれらの厄介なコンボボックスを動作させるために、その一部を書き換えるために喜んだ)
=========
メイン:私のプログラムは次のようになります。 mxmlファイル
これはメインプログラムです。私はここでログイン関連のものを扱い、データグリッドの基本的なデザインプロパティを設定します。 (例えば:maxwidth、maxheight、layout constraintsなど) 私がデータグリッドを埋めるために書いたactionscriptクラスをインスタンス化するときのコマンドを除いて、面白いことは何もありません。
"..<fx:Script>
<![CDATA[
private var myGrid1:MyGridType;
..
somefunction {
myGrid1 = new MyGridType(theDatagridDefinedBefore, "argumentNeededToFillDataGridsWithUniqueData");
}
]]>
</fx:Script>.."
=========
MyGridType.asは、私はそれにイベントリスナーを追加し、第二引数の助けを借りてのURLRequestを呼び出すコンストラクタで
を提出します。データが到着すると、イベントリスナーはfill関数を起動します。結果を配列のコレクションに読み込み、最初の引数のデータグリッドのデータプロバイダにします。
これまでのところ良いです。
ここにコンボボックスの問題があります。特定の数の列については、私は私のコンボボックスクラスをインスタンス化します。そのクラス "MyComboBoxType"を呼び出してみましょう。
"..
blablabla = new MyComboBoxType(theDatagridDefinedBefore, param1, param2, param3);"
=========
MyComboBoxType.asは私がMyGridTypeクラスで何をしたか、私はほぼ正確に同じ行う
を提出します。 param1-2-3でネットからの助けを求める。私はデータを受け取ると、配列のコレクションを入力します。 arraycollectionをコンボボックスのdataproviderに設定してください。 AAAAAAAND今、私はそのarraycollectionまたはコンボボックスが "theDatagridDefinedBefore"というデータグリッドにあることを望みます。
サンプルコードなどを提供する必要があります。あなたの答えはナンバー2のように私には聞こえます。しかし、すべてがパフォーマンスの悪夢のように聞こえる。 – JeffryHouser
お寄せいただきありがとうございます!私はいくつかの詳細を追加しました、うまくいけば助けてください。 – Adam