Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何对实现IListDataAdapter的WinJS自定义数据源进行排序和筛选?_Javascript_Windows 8_Winjs - Fatal编程技术网

Javascript 如何对实现IListDataAdapter的WinJS自定义数据源进行排序和筛选?

Javascript 如何对实现IListDataAdapter的WinJS自定义数据源进行排序和筛选?,javascript,windows-8,winjs,Javascript,Windows 8,Winjs,我已经为实现IListDataAdapter的ListView创建了一个自定义数据源。数据来自两个不同的web服务,需要多个异步调用才能完全填充。数据正确填充,ListView展示了良好的“无限滚动”功能,可以根据需要加载新的数据页面 我现在正在尝试过滤两个不同属性上的数据。我有一个复选框和一个下拉列表,它们都有正确触发的事件。这些事件应该调用updateLayout方法…但由于某些原因,该方法最终未定义 checkBoxClick: function (eventObject) {

我已经为实现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);
    },

我希望有人有一个使用自定义数据源并支持排序和筛选的项目,并且愿意与类共享该代码。

您可以使用以下API:

您应该首先使用“排序”或“筛选”WinJS.Binding.List将
数据源
绑定到视图。然后,对同一
数据源添加的任何新值都会自动更新


另外,我还注意到您正在使用
updateLayout
。我不知道这是否与您的问题有关,但自从Windows 8发布以来,它就开始使用名为
initializeLayout
的函数来更新视图

最有可能的是
变量在事件处理程序中的作用域不正确。

我现在退出该项目,因此无法进行测试…但感谢您的回复!