以下の配列変数を使用してリスト データを設定したかったので、この配列を格納するように設定しました。これは、配列内のレコード タイプのリストです。
var logbookEntryList = [];
var aircraftMxLog = new AircraftMxLog(); //domian
aircraftMxLog.mxlogIdNum = mxLogIdNum;
aircraftMxLog.entryDatetime = entryDatetime;
aircraftMxLog.recordName = recordName;
aircraftMxLog.recordSourceId = recordSourceId;
logbookEntryList.push(aircraftMxLog);
var mxRelease = new MxRelease();
mxRelease.mxReleaseTypeId = mxReleaseTypeId;
mxRelease.entryDatetime = entryDatetime;
mxRelease.comments = comments;
mxRelease.firstName = firstName;
mxRelease.lastName = lastName;
logbookEntryList.push(mxRelease);
var flightLog = new FlightLog();
flightLog.flightNumId = flightNumId;
flightLog.arvStationId = arvStationId;
flightLog.deptStationId = deptStationId;
flightLog.outDate = outDate;
flightLog.offDate = offDate;
logbookEntryList.push(flightLog);
このように、配列にはさまざまな種類のデータが含まれているため、これをモデルにマップしてリストビューに入力するにはどうすればよいですか
各関数を使用してストアを反復しようとしましたが、反復で各要素オブジェクトを取得できましたが、動的に反復してリストするときに itemtpl を設定できませんでした
ここにコードがあります
createViewFactory :function(){
var manageAmlStore=Ext.getStore('ManageAMLStore');
manageAmlStore.setData(logbookEntryList);
// this.getManageAmlStore().setData(logbookEntryList);
//
console.log('manage Aml store size '+manageAmlStore.getCount());
var manageAmlList=Ext.getCmp('manageAMlList')
manageAmlStore.each(function(item, index, length){
//console.info(item,length,index);
console.log('item '+item+' index '+index+' length '+length)
console.log('item size '+item.length)
if(logbookEntryList[index] instanceof AircraftMxLog){
manageAmlList.setItemTpl('AircraftMxLog'+index);
} else if(logbookEntryList[index] instanceof MxRelease){
manageAmlList.setItemTpl('MxRelease'+index);
// manageAmlList.initComponent();
//manageAmlList.render();
}else if(logbookEntryList[index] instanceof FlightLog){
manageAmlList.setItemTpl('FlightLog'+index);
}else if(logbookEntryList[index] instanceof MxAction){
manageAmlList.setItemTpl('MxAction'+index);
}
//Ext.getCmp('manageAMlList').setItemTpl('test'+id)
//this.getManageAmlList().setItemTpl('test'+id);
});
manageAmlList.bindStore(manageAmlStore);
}