Discuss anything related to web development but no technical support questions


Post by mfrancia »

hi

i was customize the editorpanel, i add other ext-js controls like checkbox and combos, so what i need now is how can i pass all this data to my update method declare on my eventStore and then refresh my task with the changes made

this is my declaration eventStore
 var eventStore = new Ext.data.JsonStore(
            {

                api: {
                    read: '../webservice/WSBaseScheduler.asmx/GetTempApp',
                    update: '../webservice/WSBaseScheduler.asmx/UpdateTempAppointment'
                },
                root: 'd.data',
                autoLoad: true,
                idProperty: 'Id',


                sortInfo: { field: 'ResourceId', direction: "ASC" },
                fields: [
                 { name: 'Id', type: 'int' },
                { name: 'ResourceId', mapping: 'TimeOffID', type: 'int' },
                { name: 'StartDate', mapping: 'Start', type: 'date', dateFormat: 'M$' },
                { name: 'EndDate', mapping: 'End', type: 'date', dateFormat: 'M$' },
                { name: 'Title', mapping: 'Subject', type: 'string' },
               { name: 'UserID', type: 'int' },
                 { name: 'Shift1', type: 'boolean' },
                 { name: 'Shift2', type: 'boolean' },
                 { name: 'HourDay', type: 'int' },

            ]
            });
and onSave

 onSave: function (formPanel, newStart, newEnd, record) {
        var values = formPanel.getForm().getValues();

        record.beginEdit();
        record.set('StartDate', newStart);
        record.set('EndDate', newEnd);
        record.set('Id', record.data.Id);
        record.set('TimeOffID', record.data.ResourceId);
        record.set('UserID', document.getElementById('lisBPeople').value);
        record.set('Shift1', formPanel.getForm().items.items[2].checked);
        record.set('Shift2', formPanel.getForm().items.items[3].checked);
        record.set('HourDay', formPanel.getForm().items.items[1].value);
        
        record.endEdit();
        formPanel.collapse();
    }

Post by mats »

I would try using a JsonWriter:
var eventStore = new Ext.data.JsonStore(
            {

                api: {
                    read: '../webservice/WSBaseScheduler.asmx/GetTempApp',
                    update: '../webservice/WSBaseScheduler.asmx/UpdateTempAppointment'
                },
                root: 'd.data',
                autoLoad: true,
                autoSave : true,
                writer : new Ext.data.JsonWriter({
                    writeAllFields : true,
                    encode : true
                }),
                idProperty: 'Id',


                sortInfo: { field: 'ResourceId', direction: "ASC" },
                fields: [
                 { name: 'Id', type: 'int' },
                { name: 'ResourceId', mapping: 'TimeOffID', type: 'int' },
                { name: 'StartDate', mapping: 'Start', type: 'date', dateFormat: 'M$' },
                { name: 'EndDate', mapping: 'End', type: 'date', dateFormat: 'M$' },
                { name: 'Title', mapping: 'Subject', type: 'string' },
               { name: 'UserID', type: 'int' },
                 { name: 'Shift1', type: 'boolean' },
                 { name: 'Shift2', type: 'boolean' },
                 { name: 'HourDay', type: 'int' },

            ]
            });
This will send the new data to your 'update' URL after each change made to any event.

Post Reply