0

我正在尝试创建一个新的 Windows 8 应用程序,并且我正在尝试实现列表视图。

我目前的问题是 document.querySelector('#myListView').winControl.selection.count(); 总是返回 0.. 当我选择、取消选择列表视图等时。我在列表视图中手动加载了我的项目,这与它有什么关系吗?

4

2 回答 2

1

我们需要在 ListView 的 data-win-option 中添加 selectionMode 为 'multi'

<div id="UserListView" data-win-control="WinJS.UI.ListView" style="border-top: 5px solid #000; min-width:500px;" 
           data-win-options="{
                               selectionMode:'multi',
                               itemTemplate:select('#itemsList'),
                               layout:{    
                               type:WinJS.UI.GridLayout}}"
         > 

    </div>

然后在 js 文件中,我们可以得到所选列表视图项的计数,如下所示

 var testCount = UserListView.winControl.selection.count();
于 2013-09-04T10:44:19.717 回答
0

你能显示你的代码吗?因为在我的示例中,此功能正常工作。dataExample.js 文件中的这段代码:

(function () {
"use strict";

var dataArray = [
{ title: "Basic banana", text: "Low-fat frozen yogurt", picture: "images/60banana.png" },
{ title: "Banana blast", text: "Ice cream", picture: "images/60banana.png" },
{ title: "Marvelous mint", text: "Gelato", picture: "images/60mint.png" },
{ title: "Succulent strawberry", text: "Sorbet", picture: "images/60strawberry.png" }
];

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

var publicMembers =
    {
        itemList: dataList
    };
WinJS.Namespace.define("DataExample", publicMembers);
})();


在 default.js 我创建函数,它显示所选项目的计数

function someFunc(mouseEvent) {

var count = document.getElementById("basicListView").winControl.selection.count();
var dlg = new Windows.UI.Popups.MessageDialog(count);
dlg.showAsync().operatio;

}


我的 default.html 包含下一个代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>App1</title>

<!-- WinJS references -->
<link href="//Microsoft.WinJS.1.0/css/ui-white.css" rel="stylesheet" />
<script src="//Microsoft.WinJS.1.0/js/base.js"></script>
<script src="//Microsoft.WinJS.1.0/js/ui.js"></script>

<!-- App1 references -->
<link href="/css/default.css" rel="stylesheet" />
<script src="/js/default.js"></script>
<script src="/js/dataExample.js"></script>
</head>
<body>
<button id="btn" class="ui-button" onclick="someFunc(event)">click me</button>
<p id="button1Output"></p>

<div id="basicListView" data-win-control="WinJS.UI.ListView" data-win-options="{     itemDataSource : DataExample.itemList.dataSource }">

</div>
</body>
</html>


我使用这个 MSDN 示例

于 2013-08-13T06:44:24.550 回答