WinJs를 배우고 있지만 내 응용 프로그램에 문제가 있습니다. Gridlayout에 표시되는 Grouped ListView가 있습니다. 템플릿을 사용하고 템플릿의 헤더에 세 개의 버튼이 있습니다. 내 자바 스크립트에서 나는 목록을 중요도별로 필터링 한 다음 그룹화하는 기능을 가지고 있습니다. 버튼을 클릭하면 중요도를 전달한 다음 필터에서 사용합니다. 내가 겪고있는 문제는 버튼을 클릭했지만 표시가 변경되지 않을 때 필터링 및 그룹화 기능이 호출된다는 것입니다.버튼을 클릭하여 그룹화 된 GridLayout 목록보기를 필터링하려고합니다.
사이트를 검색 한 결과 도움이 될만한 몇 가지 주제를 찾았지만 모두 Android 앱용이었습니다.
누구든지 내가 뭘 잘못하고 있다고 말할 수 있습니까?
코드 :
[data.js]
(function() {
"use strict";
var groupedItemsList;
var jobStatusCriticality = "";
var groupedJobs, filteredDataList;
var dataList = new WinJS.Binding.List();
function listData() { //removed for web}
WinJS.Namespace.define("JobGroup.Functions", {
setupJobGroup: function setupGroup(jsc) {
if (jsc != "") {
filteredDataList = dataList.createFiltered(
function (dataItem) {
if (dataItem.jobCriticality == jsc) {
return true;
}
else {
return false;
}
}
);
filteredDataList.notifyReload();
}
else {
filteredDataList = dataList;
}
groupedJobs = filteredDataList.createGrouped(
function (dataItem) {
return dataItem.jobStatus;
},
function (dataItem) {
return { status: dataItem.jobStatus };
},
function (first, second) {
return first.charCodeAt(0) - second.charCodeAt(0);
}
);
}
});
JobGroup.Functions.setupJobGroup(jobStatusCriticality);
WinJS.Namespace.define("DataExample", { myList: groupedJobs });
WinJS.UI.processAll().then(listData);
[default.html을]
<div id="mediumListIconTextTemplate" data-win-control="WinJS.Binding.Template">
//remove for web
</div>
<div id="headerTemplate" data-win-control="WinJS.Binding.Template">
<div id="sortType">
<div id="sortAll"><span><button id="viewAllBtn" type="button" onclick="JobGroup.Functions.setupJobGroup('')">View All</button></span></div>
<div id="sortCritical"><span><button id="viewCriticalBtn" type="button" onclick="JobGroup.Functions.setupJobGroup('CRITICAL')">Critical</button></span></div>
<div id="sortWarning"><span><button id="viewWarningBtn" type="button" onclick="JobGroup.Functions.setupJobGroup('WARNING')">Warning</button></span></div>
</div>
</div>
<div id="groupedListView"
data-win-control="WinJS.UI.ListView"
data-win-options="{itemDataSource: DataExample.myList.dataSource,
itemTemplate: select('#mediumListIconTextTemplate'),
groupDataSource: DataExample.myList.groups.dataSource,
groupHeaderTemplate: select('#headerTemplate'),
layout: {type: WinJS.UI.GridLayout}}">
</div>
가 [default.js] // 표준 기본 코드를 포함
이것은 효과가 있습니다. 너무 감사합니다. –