0
私は2つのフォーム(グリッドとフィールドを持つフォーム)を持っています。ExtJs loadRecordメソッドを説明してください
ステップによって、私の質問のステップ:
- を私はコントローラにloadRecord法によりcurrentDateFieldしたフォームを、編集する行の負荷からすべての日付グリッドの行を選択します。
- 私はフィールドのIDが 'currentDateField'の既定値(new Date())を持っています
- loadRecordメソッドが呼び出されたとき、このフィールドは値を変更しますが、このフィールドを常にデフォルト値新しいDate())
だから私の質問は以下のとおりです。
- どうloadRecordは動作し、それが編集フォームのフィールド値をどのように変化するかでしょうか?
- loadRecordメソッドを使用しても 'currentDateField'を常にデフォルト値にすることはできますか?
まず:
Ext.define('MVC.view.NotesGrid', {
extend: 'Ext.grid.Panel',
xtype: 'notes',
title: 'Note-list',
store: 'Notes',
columns: [
{
text: 'Name',
dataIndex: 'name',
flex: 1
},
{
text: 'Creation Date',
xtype: 'datecolumn',
format: 'd-m-Y',
dataIndex: 'createDate',
flex: 1
},{
text: 'Last Modified',
xtype: 'datecolumn',
format: 'd-m-Y',
dataIndex: 'modifiedDate',
flex:1
}, {
text: 'Text',
dataIndex: 'noteText',
flex: 3
}
]
});
第二:
GridController:
Ext.define('MVC.controller.Notes', {
extend : 'Ext.app.Controller',
init: function() {
this.control({
'notes': {
select : this.onGridSelect
}
});
},
onGridSelect : function(grid, record, index, eOpts) {
// grab a reference to the Detail view...
// we could have used a controller "ref", but those can also be problematic
var detailView = Ext.ComponentQuery.query('edit')[0];
//set the form record manually
detailView.loadRecord(record);
}
});
モデル:
Ext.define('MVC.model.Note', {
extend : 'Ext.data.Model',
fields : [
{
name : 'name',
type : 'string'
},
{
name : 'createDate',
type : 'date'
},
{
name : 'modifiedDate',
type : 'date'
},
{
name : 'noteText',
type : 'string'
}
]
});
ストア:
Ext.define('MVC.store.Notes', {
extend : 'Ext.data.Store',
requires : [
'MVC.model.Note'
],
storeId : 'Notes',
model : 'MVC.model.Note',
data : [
{
'name' : 'Lisa',
'createDate' : '10-23-1234',
'modifiedDate' : '04-21-2016',
'noteText' : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam posuere odio leo, at mollis libero porta ut. Etiam mauris ipsum, iaculis a imperdiet sit amet, bibendum id urna. Proin tempus lectus nisl, a tristique est tempor quis. Etiam interdum urna dolor, non gravida nulla laoreet a. Donec id velit metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eu purus sed nisl commodo malesuada et ut velit. Quisque ut lorem magna. Nulla eget odio est. Sed ultrices turpis quam. Aliquam quis sollicitudin dolor.'
},
{
'name' : 'Bart',
'createDate' : '10-24-1234',
'modifiedDate' : '04-3-2016',
'noteText' : 't, bibendum id urna. Proin tempus lectus nisl, non gicitudin dolor.'
},
{
'name' : 'Homer',
'createDate' : '10-25-1234',
'modifiedDate' : '12-13-2416',
'noteText' : 'qwerty'
},
{
'name' : 'Marge',
'createDate' : '10-26-1234',
'modifiedDate' : '04-21-2016',
'noteText' : 'qwerty123123'
}
]
});