Ich versuche, den Speicher auf RowEditing aktualisieren zu aktualisieren klickenaktualisieren Grid-Speicher auf Row Bearbeiten
Added ein Hörer als
listeners: { 'edit': function (editor, e) { alert('Row Updating'); } }
Alarm auf Klick-feuert so versucht das aktualisieren jetzt speichern, wie unten
1.var rec = e.record; e.store.sync();
Alle oben genannten können die geänderten Datensätze zu speichern nicht aktualisieren. Es wirft Fehler als -
Unhandled exception at line 1984, column 17 0x80004005 - JavaScript runtime error: unknown exception
Was ist der Grund sein? Bitte schlagen Sie mir vor, wie kann ich die Daten hier aktualisieren.
Aktualisierung:
Hinzufügen vollständige Code -
Ext.define('TimeModel', { extend: 'Ext.data.Model', fields: [ { name: 'stop_type_id', type: 'int' } ] }); ---------------------- var storeStop = new Ext.data.SimpleStore({ fields: ["value", "text"], data: [ [1, "Delivery"], [2, "Pickup"] ] }); --------------------------- var comboBoxStopRenderer = function (comboStop) { return function (value) { var idx = comboStop.store.find(comboStop.valueField, value); var rec = comboStop.store.getAt(idx); return (rec === null ? '' : rec.get(comboStop.displayField)); }; } ------------------------ var comboStop = new Ext.form.ComboBox({ store: storeStop, valueField: "value", displayField: "text" });
xtype: 'grid', itemId: 'gdTimeCommitmentItemId', store: { type: 'webapi', api: { read: 'api/Report/GetTime' }, autoLoad: false, }, columns: [ { text: 'Stop Type', dataIndex: 'stop_type_id', width: '12%', editor: comboStop, renderer: comboBoxStopRenderer(comboStop) } ], plugins: [rowEditingTime], tbar: [ { text: 'Add', handler: function() { rowEditingTime.cancelEdit(); var timeGrid = this.up('grid'); var r = Ext.create('TimeModel', { stop_type_id: 1 }); timeGrid.store.insert(0, r); rowEditingTime.startEdit(0, 0); } } ], listeners: { 'edit': function (editor, e) { //alert('Updating'); //var rec = e.record; //e.store.sync(); //var timeGrid = this.up('grid'); //timeGrid.store.sync(); // Ext.ComponentQuery.query('#gdTimeCommitmentItemId')[0].store.sync(); //this.store.sync(); }
}
entnehmen Sie bitte den obigen Update-Code. Führe mich hier – user1893874
Ihre Grid Store App nur gelesen haben. api: { lesen: 'api/Report/GetTime' } wo ist das Update API. refer this link http://www.extjs-tutorial.com/extjs-examples/crud-in-extjs-4-grid-example – CharanRoot
Hier versuche ich, den Laden lokal und auf der Seite zu aktualisieren. Klicken Sie auf Speichern, um den Wert aus dem Laden zu erhalten zur Datenbank. On RowEditing - Update: Ich möchte den Speicher aktualisieren und nicht zu DB. RowEditing - Hinzufügen - funktioniert hier gut. – user1893874