データベースからの入力が取り込まれた配列がありSQLite
ます。この配列を as:list のデータプロバイダーとして使用すると、指定した配列内のすべてのオブジェクトが表示されます。
配列内のいくつかのオブジェクトにアクセスしたいのですが、使用しようとしていますgetItemAt()
。現時点では、配列の最初のオブジェクトを返すことができますが、インデックスを変更すると (getItemAt(1)
たとえば)、何も返されません。
最終的には、アプリケーションの別の場所に入力され、データベースに挿入されたデータを FX:Model に取り込むことを目指していSQLite
ます。モデルは、円グラフのデータプロバイダーとして機能します。データベースの最初のエントリをモデル/円グラフに渡すことはできますが、他のエントリにはアクセスできません。
関連するコードのセクションは次のとおりです。トラブルシューティングのヒントをいただければ幸いです。
[Bindable]
private var GHGsource:ArrayCollection;
その後:
GHGsource = new ArrayCollection();
}
for each ( var o:Object in event.data )
{
GHGsource.addItem(o);
}
FullList.dataProvider = GHGsource;
}
}
モデルのセットアップ:
<fx:Declarations>
<fx:Model id="GHG" >
<data>
<row>
<input>Enteric methane</input>
<Value> {GHGsource.getItemAt(0).answer} </Value>
リストの設定:
<s:List id="FullList">
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer labelFunction="returnQuestion" messageFunction="returnAnswer">
<fx:Script>
<![CDATA[
private function returnQuestion(item:Object):String
{
return "Question: " + item.question;
}
private function returnAnswer(item:Object):String
{
var response:String = "";
if ( !item.answer || item.answer == "" )
{
response = "(no response)";
} else {
response = item.answer;
}
return response;
}
]]>
</fx:Script>
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
このアプリケーションは、 Daniel Koestler の Survey Ape アプリケーションで設定されたデータベース構造に基づいています。
おそらく、s:List コンポーネントが配列内のオブジェクトにアクセスする方法についての洞察がここで役立つでしょうか?
追加の詳細:
デバッグ モードで実行すると、オブジェクトが配列コレクションに正しくバインドされていないように見えます。警告: クラス 'Object' のプロパティ 'xxx' にバインドできません (クラスは IEventDispatcher ではありません)