1

グループ化されたデータにバインドするためのかなり標準的な WinJS ListView セットアップがあります。

アプリの設定でグルーピングの表示・非表示を変更したい。ページがいつ読み込まれるかを確認し、次のようにグループ化プロパティの設定をスキップすることで、部分的にそれを行うことができます。

            if (!Data.getCategoryGrouping()) {
                var content = element.querySelector(".itemspage");
                content.className += " noGroup";
                listView.groupHeaderTemplate = null;
                listView.groupDataSource = null;
            }
            else {
                listView.groupHeaderTemplate = element.querySelector(".headerTemplate");
                listView.groupDataSource = Data.groups.dataSource;
            }

ただし、ページが既に表示されていて、ユーザーが設定を調整する場合には役に立ちません。(そして、正直なところ、とにかくそれを行うのがおそらく最善の方法ではありません。)

何かご意見は?

4

1 に答える 1

1

ページが読み込まれた後、groupDataSource を null にして、グループ化をオフにすることができます。このような...

q("#myButton").onclick = function(e) {
    myListView.groupDataSource = null;
};

そして、このようにそのボタンで切り替えることができます...

q("#myButton").onclick = function(e) {
    if (myListView.groupDataSource != null) myListView.groupDataSource = null;
    else { myListView.groupDataSource = myGroupedList.groups.dataSource; }
};

ところで、コードで行っていたように を使用する代わりに、 を使用content.className += " noGroup";することをお勧めしますcontent.classList.add("noGroup");

于 2012-12-15T08:48:42.420 に答える