1

Javascript を使用した Windows 8 アプリで ListView へのデータ バインドに大きな問題があります。

default.js の「アクティブ化」イベント内で、Web サービスからデータを取得して配列にプッシュするコードを記述しました。このビットは問題なく動作し、アレイに値が設定されます。

私が抱えている問題は、アプリがデータを認識しないことです。Inspections.html というページに次のコードがあります。

data-win-options="{itemTemplate: select('#imageTextListCollectionTemplate'),
                                itemDataSource: dataList.dataSource,
                                layout: {type: WinJS.UI.ListLayout}}

そして、「アクティブ化」イベントで次のように宣言します。

var dataList = new Array();

そして、Web サービスからこの配列にデータをプッシュします。しかし、実行時に、「未定義のdataListでdataSourceが見つかりません」という行に沿って何かを言うエラーが発生します。

MS Web サイトでいくつかの例を実行しましたが、そのうちの 1 つで、ダミーのデータセットを作成し、名前空間から参照しています。ここに欠けているのは名前空間でもあると思いますが、default.jsの名前空間が何であるかわかりません。あるいは、私が間違っていて、それはまったく違うものなのかもしれません。

助けてください - これは非常に基本的なことです (そして簡単なはずです)。

4

2 に答える 2

1

HTML または JavaScript でデータリストを作成しますか?

JavaScriptから作成したいようです。データを Web サービスから配列にプッシュ済みであると仮定すると、以下を呼び出すだけで済みます。

var dataList = new WinJS.Binding.List(array);

現在、アクセスdataList.dataSourceは完全に有効です。

また、データリストを作成するために、常に配列が必要なわけではありません。おそらく、空のリストから始めて、次のように、Web サービスからデータ リストに直接データを挿入し続けることができます。

var dataList = new WinJS.Binding.List([]);
dataList.push(value1);
dataList.push(value2);

...

それが役に立てば幸い。ご不明な点がございましたら、お気軽にお問い合わせください。

于 2012-12-15T14:17:10.620 に答える