Ich habe zwei Formen (Raster und Formular mit Feldern).Erklären ExtJs loadRecord Methode
Meine Frage Schritt für Schritt:
- Wenn ich Startreihe alle Datum Reihe lädt wählen Form zu bearbeiten, wobei i von loadRecord Verfahren in Controller currentDateField haben.
- In Bearbeitungsformular Ich habe Feld mit ID 'currentDateField' mit Standardwert (new Date())
- Wenn loadRecord Methode aufgerufen wird dieses Feld ändert seinen Wert, aber ich möchte dieses Feld immer im Standardwert von (new Date())
Also meine Fragen sind:
- Wie funktioniert loadRecord funktioniert und wie es ändert Felder Werte in Formular bearbeiten?
- Wie kann ich festlegen, dass "currentDateField" immer im Standardwert ist, auch wenn die loadRecord-Methode aktiviert ist?
Erstens:
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
}
]
});
Zweitens:
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);
}
});
Modell:
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'
}
]
});
Store:
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'
}
]
});