Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
Windows 8 如何在WINJS中的LISTVIEW.SELECTION上使用SET方法_Windows 8_Winjs_Windows 8.1 - Fatal编程技术网

Windows 8 如何在WINJS中的LISTVIEW.SELECTION上使用SET方法

Windows 8 如何在WINJS中的LISTVIEW.SELECTION上使用SET方法,windows-8,winjs,windows-8.1,Windows 8,Winjs,Windows 8.1,有人在WINJS中使用过listView.selection.set(items)方法吗 如果我传递一个项目的数字索引,我可以让它工作,但我无法让它传递一个键 这是关于它应该如何工作的文档,但没有示例 您需要做的是找到所需项目的索引,然后使用listView.selection.set(项目) for(变量i=0;i

有人在WINJS中使用过
listView.selection.set(items)
方法吗

如果我传递一个项目的数字索引,我可以让它工作,但我无法让它传递一个键

这是关于它应该如何工作的文档,但没有示例


您需要做的是找到所需项目的索引,然后使用listView.selection.set(项目)

for(变量i=0;i
这可能不是最好的答案,但我之所以回答这个问题,是因为我在寻找一种方法,差不多一年后就能做到这一点

要按键选择,传递到
set
的对象必须包含键,即

var newSelection = [{key: 3}, {key: 5}];
listView.selection.set(newSelection);
如果要在更改数据后保留选择,似乎没有正确的方法访问当前选择,因此我使用了
\u value

var listView = document.getElementById("ListView").winControl;
var oldSelection = listView.selection._value;
//Sort the list, or do something that changes the list.
listView.selection.set(oldSelection);

没有人使用过这个方法?哇,我不敢相信这是一个困难的问题,正如我在问题中所说的,我知道如何使用set()方法传递id,我需要的是找到项的“键”,并使用带有键的方法。它在我提供的链接中的文档的第二部分中有详细说明,但没有示例,我无法理解。
var listView = document.getElementById("ListView").winControl;
var oldSelection = listView.selection._value;
//Sort the list, or do something that changes the list.
listView.selection.set(oldSelection);