.setActiveItem を使用して、Sencha 2.1 MVC アプリのリストビュー (Ext.dataview.List) にアイテムの詳細情報を表示しようとしています。問題は、データをロードするための詳細ビューを取得できないことです。
setData、setRecord、Update など、データを表示する詳細ビューを取得するさまざまな方法を試しました (最近の試みについては、以下を参照してください)。
フォーラム、stackoverflow、Google を検索したときに得られる結果のほとんどは、MVC モデルを使用していない sencha アプリに関するものです。(ああ、.push を使用すると問題なく動作しますが、他の理由により、ナビゲーション ビューから離れています)。
私のコントローラーから:
showDetail: function(list, record) {
/*this.getMain().push({
xtype: 'labdetail',
title: record.fullName(),
data: record.getData()
});*/
//The code above works, but only as long as I stay with navigation view...
console.log("showDetail");
//Ext.getCmp('labdetail').update(record.data);
//LabDetail.update(record.data);
//Ext.fly('labdetail').setData(record.data);
//Ext.getCmp('labdetail').setData(record.data);
//Ext.component('Labblistan.view.LabDetail').destroy();
//Ext.getCmp('Labblistan.view.LabDetail').destroy();
//Ext.fly('labdetail').destroy();
//var DetailView = Ext.create('Labblistan.view.LabDetail'); //If I create the view the console complains I need to destroy previous views with the same ID, hence the different destroy() approaches above
//DetailView.setRecord(record);
Ext.getCmp('mainpanel').setActiveItem('labdetail'); //This navigates to the right view, but it's empty
},
私の詳細ビュー:
Ext.define('Labblistan.view.LabDetail', {
extend: 'Ext.Panel',
xtype: 'labdetail',
id: 'labdetail',
config: {
title: '{Analysis}',
styleHtmlContent: true,
scrollable: 'vertical',
fullscreen: true,
tpl: [
'<div style=position:absolute;top:50px;><p>Info about {Analysis}</p><p>{Comment}</p></div>'
],
},
});