次のjsonデータがあります。
{
"pendingTasksVOs" : [{
"groupName" : "LAST_MONTH",
"documents" : [{
"description" : "kvk1",
"uploadDate" : "1-12-2012"
}
]
}, {
"groupName" : "OLDER",
"documents" : [{
"description" : "kvk2",
"uploadDate" : "1-11-2012"
}, {
"description" : "kvk3",
"uploadDate" : "1-10-2012"
}, {
"description" : "kvk4",
"uploadDate" : "1-01-2012"
}
]
}
]
}
GroupName でグループ化された Sencha Touch リストに表示したい。
リストを次の形式にしたい:
グループ名 : グループ 1 ------------------------------ Description11 、 UploadDate11 これは、クリック可能な別のリスト行にする必要があります ------------------------------ Description12 、 UploadDate12 これは、クリック可能な別のリスト行にする必要があります ------------------------------ Description13 、 UploadDate13 これは、クリック可能な別のリスト行にする必要があります ------------------------------ ****************************** グループ名 : グループ 2 ------------------------------ Description21 、 UploadDate21 これは、クリック可能な別のリスト行にする必要があります ------------------------------ Description22 、 UploadDate22 これは、別のクリック可能なリスト行にする必要があります ------------------------------ ******************************
Sencha Touch List コンポーネントを使用しようとしています。しかし、上記の要件に従ってリストを取得するつもりはありません
//This is my store
var store = Ext.create('Ext.data.Store', {
model: 'Demo.model.DocumentList',
rootProperty: 'pendingTasksVOs',
autoLoad: true,
grouper: {
groupFn: function(record) {
if (record && record.data.title) {
return record.get('groupName');
} else {
return '';
}
}
}
});
//template for list item
var listTemplate = new Ext.XTemplate(
'<tpl for=".">',
'{groupName}</br>',
'<ul>',
'<tpl for="documents">',
'{description} {uploadDate} </br>',
'</tpl>',
'</ul>',
'</tpl>'
);
// Initialize the main view
Ext.getCmp("pendingTasksListId").add(Ext.create('Ext.List', {
fullscreen: true,
itemTpl: listTemplate,
store: store,
groupField:'description',
grouped: true
}));
//DocumentListModel is defined under /app/model/
Ext.define('Demo.model.DocumentList', {
extend: 'Ext.data.Model',
requires : ['Demo.model.Doc'],
config: {
fields: ['groupName', 'documents'],
hasMany : {
model : "Demo.model.Doc",
associationKey: 'documents'
},
proxy: {
type: 'rest',
url : "/getPendingTasks",
reader: {
type: 'json',
rootProperty : 'pendingTasksVOs'
}
}
}
}
//Document Model is defined under /app/model/
Ext.define('Demo.model.Doc', {
extend: 'Ext.data.Model',
config: {
fields: ['description', 'uploadDate'],
belongsTo: "Demo.model.DocumentList"
}
});
});
次のようにリスト項目を取得できます。
グループ名、 説明11、アップロード日11 説明12、アップロード日12
ただし、コンテンツ全体をクリックできます。Description と UploadDate の各ペアをクリックできるようにしたいと考えています。
上記の要件をどのように達成できるかについて、誰かが私を導くことができますか?