我已经为实现 IListDataAdapter 的 ListView 创建了自定义数据源。数据来自几个不同的 Web 服务,需要多次异步调用才能完全填充。数据正确填充,并且 ListView 展示了很好的“无限滚动”功能,根据需要加载新的数据页面。
我现在正尝试过滤几个不同属性的数据。我有一个复选框和一个下拉列表,它们都有正确触发的事件。这些事件应该调用 updateLayout 方法...但由于某种原因,该方法最终未定义。
checkBoxClick: function (eventObject) {
this.updateLayout(document, Windows.UI.ViewManagement.ApplicationView.value);
},
dropDownListValueChange: function (eventObject) {
this.updateLayout(document, Windows.UI.ViewManagement.ApplicationView.value);
},
我希望有人有一个使用自定义数据源并支持排序和过滤的项目,并且愿意与类(class)分享该代码。
最佳答案
您可以使用以下 API:
WinJS.Binding.List.createSorted(sortingFunction)
和 WinJS.Binding.List.createFiltered(filterFunction)
您应该首先使用“排序”或“过滤”WinJS.Binding.List
将您的dataSource
绑定(bind)到 View 。然后任何新添加到同一 dataSource
的值都会自行更新。
附言我还注意到您正在使用 updateLayout
。我不知道它是否与您的问题有关,但自从 Windows 8 发布以来,它开始使用一个名为 initializeLayout
的函数来更新 View 。
关于javascript - 如何排序和过滤实现了 IListDataAdapter 的 WinJS 自定义数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13235652/