title: ExtJS. Ext.data.DirectStore send null data to server after grid is updated
body: <p>I have a problem with saving data from Ext.data.DirectStore to server</p>
  
  <p>Here is my code:</p>
  
  <pre><code>new Ext.data.DirectStore({
      api: {
          read: AbonApi.cities,
          create: AbonApi.cities_create,
          update: AbonApi.cities_update,
          destroy: AbonApi.cities_destroy
      },
      paramsAsHash: false,
      autoSave: false,
      storeId: 'cities-store',
      reader: new Ext.data.JsonReader({
          root: 'data',
          idProperty: 'id',
          fields: [
              'id',
              'name',
              'label',
              'comment',
          ]
      }),
      writer: new Ext.data.JsonWriter({
          encode: true,
          writeAllFields: true,
          listful: true
      })
  });
  
  Ext.ux.CityGrid = Ext.extend(Ext.grid.EditorGridPanel,{
      initComponent: function(){
          var config = {
              frame:true,
              title: 'Cities',
              height:200,
              width:500,
              store: 'cities-store',
              closable: true,
              tbar: [{
                  text: 'Apply',
                  handler: function() {
                      this.store.save()
                  },
                  scope: this
              }],
              columns: [
                  {header: "Id", dataIndex: 'id', editor: new Ext.form.TextField()},
                  {header: "Name", dataIndex: 'name', editor: new Ext.form.TextField()},
                  {header: "Label", dataIndex: 'label', editor: new Ext.form.TextField()},
                  {header: "Comment", dataIndex: 'comment', editor: new Ext.form.TextField()},
              ],
              onRender:function() {
                  Ext.ux.CityGrid.superclass.onRender.apply(this, arguments);
                  this.store.load();
              }
          }
          Ext.apply(this, Ext.apply(this.initialConfig, config));
          Ext.ux.CityGrid.superclass.initComponent.apply(this, arguments);
      }
  });
  </code></pre>
  
  <p>After editing the grid pushing <code>Apply</code> button I can see in firebug such POST data:</p>
  
  <pre><code>{"action":"AbonApi","method":"cities_update","data":null,"type":"rpc","tid":7}
  </code></pre>
  
  <p>Why <code>data</code> is null and where is my changes to grid? 
  I'm doing something wrong or this is a bug</p>
  
  <p><strong>UPDATED:</strong></p>
  
  <pre><code>Ext.ux.CityGrid
  ... cutted out ...
  
          tbar: [{
              text: 'Apply',
              handler: function() {
                  modified = this.store.getModifiedRecords();
                  console.log(modified)                   
                  this.store.save()
              },
              scope: this
          }],
  
  ... cutted out ...
  </code></pre>
  
  <p>I can see modified data in console before store is saved. and this data is not passing to the server;</p>