0

「日」の終わりに連続した番号を持つ2次元リストを作成しています。これは、DataGridのdataProviderとして使用するために、コマンド
dg1.selectedItem.day1dg1.selectedItem.day2dg1.selectedItem.day3を介してアクセスしてい
ます

等...

文字列( "day" + i)を取得して(それは何ですか?変数名?)に変換して、次の行に沿って何かを実行できるようにする方法はありますか?

for(var i:Number=1; i<numFields; i++)
{
  dg1.selectedIndex = i-1;
  dg1.selectedItem.(mysteryFunction("day"+i)) = 42;
}

mysteryFunctionに使用できる関数、または使用するデータ型がある場合、これは非常に役立つ情報 です。


これは私が使用してきたものです(非常に面倒です)。

<mx:XMLList id="sched">
  <field>
      <day1></day1>
      <day2></day2>
      <day3></day3>
  </field>
  <field>
      <day1></day1>
      <day2></day2>
      <day3></day3>
  </field>

  ...
</mx:XMLList>
4

2 に答える 2

1

あなたが探している「ミステリー関数」は、括弧でインデックスを付けるのと同じくらい簡単です:

for(var i:Number=1; i<numFields; i++)
{
    dg1.selectedIndex = i-1;
    dg1.selectedItem["day"+i] = 42;
}

そして、驚くべきことに、それは属性と呼ばれます。

于 2009-02-23T19:42:02.530 に答える
0

これらの変数に個別に名前を付ける代わりに、 or を使用Arrayしてバインドする場合 (私はこれに賭けています) を使用します。ArrayCollection

メンバーが何らかのプログラムによって生成された場合は、これらすべてを前述のコレクション クラスのいずれかに配置してから処理を開始することをお勧めします。長期的には生活が楽になります。

E4Xは、XML を扱う場合に使用する方法です。Mozilla の連中は、その技術について間違いなくより適切に説明しています。したがって、XML が次のように変数に格納されている場合:

var tree:XML = <field>
    <day1></day1>
    <day2></day2>
    <day3></day3>

あなたは簡単に行うことができます:

tree.day1 = 42;

なぜこれが欲しいのmysteryFunction()ですか?オブジェクトは、ある TypeのdataProvider単なるコレクションです。タイプはもうわかりますよね?これを読んでください。

とにかく、そんな謎の機能はありません。ただし、数値と文字列を連結すると、数値が文字列に変換されることに注意してください。試す

trace("str " + 42);
于 2009-02-23T18:38:50.653 に答える