Speicherung der bearbeiteten Datensatz in einer Zelle Bearbeiten raster
Wie kann ich das speichern der bearbeiteten Datensatz auf Klick auf den speichern-button?
mein code :
//create the Data Store
var store = Ext.create('Ext.data.Store', {
//autoSync: true,
autoLoad:true,
autoDestroy: true,
url: 'update_premise.php',
model: 'Plant',
proxy: {
type: 'ajax',
//load remote data using HTTP
url: 'getLab.php',
//specify a XmlReader (coincides with the XML format of the returned data)
reader: {
type: 'json'
},
writer: {
type: 'json'
}
},
sorters: [{
property: 'lab_name',
direction:'ASC'
}]
});
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
//create the grid and specify what field you want
//to use for the editor at each header.
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [{
id: 'lab_name',
header: 'Common Name',
dataIndex: 'lab_name',
flex: 1,
editor: {
allowBlank: false
}
}],
selModel: {
selType: 'cellmodel'
},
renderTo: 'editor-grid',
width: 600,
height: 300,
title: 'Lab?',
frame: true,
tbar: [
{
text: 'Save',
handler: function ()
{
for (var i = 0; i <grid.store.data.items.length; i++) {
var record = grid.store.data.items [i];
if (record.dirty) {
}
}
}
}
],
plugins: [cellEditing]
});
- können Sie mir helfen ich bin neu auf extjs
- Sie können "record.set(Wert)" wo wird der Wert Ihres neuen Wert zu aktualisieren, der Zelle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht zu speichern über ajax-Aufrufe sencha nicht alle die Prüfung und sparen für Sie.
diesem Teil kann ersetzt werden durch
store.sync();
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Daten.AbstractStore-Methode-sync
Wenn Sie möchten, um die Daten zu aktualisieren, zu einem anderen url dann zu Lesen, können Sie konfigurieren Sie die proxy-mit einem api-Objekt in seriösen einer einzigen url-parameter.
Grundsätzlich hängt es von Ihrem server-Seite. Wenn Sie speichern möchten, indem Sie die ajax-Anforderung, die Sie verwenden sollten etwas wie diese:
Sollten Sie den obigen code in Ihrem
if
Aussage:Auch Sie kombinieren könnte alle Zeilen in ein großes Objekt und verwenden Sie es in der Anfrage.
Als für das cell-editor plugin, es wurde entworfen, um zu speichern von Datensätzen automatisch. Sollten Sie die
validateedit
Veranstaltung. Die Dokumentation ist hier: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.grid.plugin.CellEditing-event-validateedit