title: ExtJs Gridpanel Window with checkbox selModel , on second opening doesn't display checkboxes
body: <p>I have a gridpanel with checkbox Selection Model inside a window. </p>
  
  <p>On a button click handler, the window opens up the grid with checkboxes for the first time perfectly.</p>
  
  <p>On opening it second time or later, the checkboxes are not visible. I am going an explicit instance creation in the grid <code>Ext.define()</code>.</p>
  
  <pre><code>  selModel: Ext.create('Ext.selection.CheckboxModel', {
      mode: 'SIMPLE',
      checkOnly: true,
      listeners: {
          selectionchange: function (model, selections) {
              if (selections.length &gt; 10) {
                  Ext.Msg.alert('Info', 'Max of only 10 selections allowed');
  
                  for (var i = 10; i &lt; selections.length; i++) {
                      var record = selections[i];
                      model.deselect(record, true);
                  }
              }
          }
      }
  })
  </code></pre>
  
  <h2><strong>where am I going wrong here ?</strong></h2>
  
  <blockquote>
    <p><strong>Update</strong>:</p>
  </blockquote>
  
  <p><em>- inside the button handler - opening a form  with input entries
   - on form submit - open a window with checkbox - grid inside the storeload</em></p>
  
  <pre><code>        checkGridStore.load({
                          scope: this,
                          callback: function (records, operation, success) {                               
                              var firstWindowWithCheckGrid= Ext.widget('gridwindow', {                                  
                                   id: 'firstWindowWithCheckGrid'
                              });
                              firstWindowWithCheckGrid.show();
                          }
                      });
  </code></pre>
  
  <p><strong><em>Window config :</em></strong></p>
  
  <pre><code> Ext.define('Sample.view.GridWindow', {
  extend: 'Ext.window.Window',
  alias: 'widget.gridwindow',
  height: 500,
  width: 1500,
  modal: true,
  layout: 'fit',
  forceFit: true,
  listeners: {
      beforeshow: function (window) {
          window.doLayout();
      }
  },
  buttons: [
      {
          text: 'Submit',
          handler: function () {
              var selectedRows = Ext.getCmp('statusGrid').getSelectionModel().getSelection();
  
              // do something
  
              Ext.getCmp('firstWindowWithCheckGrid').close();
  
  
              // do something
  
              secondStore.load({
                  scope: this,
                  callback: function (records, operation, flag) {
                      if (records.length &gt; 0) {
                          var secondWindowWithoutCheckGrid = Ext.create('GridWindow', {
                              id: 'statusWindow',
                              items: {
                                  xtype: 'gridpanel'
  
                              },
                              buttons: [
                                  {
                                      text: 'Close',
                                      handler: function () {
                                          secondWindowWithoutCheckGrid .close();
                                      }
                                  }
                              ]
                          }).show();
                      }
                  }
              });
          }
      },
      {
          text: 'Close',
          handler: function () {
              try {
                  Ext.getCmp('firstWindowWithCheckGrid').close();
              } catch (error) {
  
              }
          }
      }
  ],
  initComponent: function () {
      this.items = [
          {
              xtype: 'statusgrid',
              id: 'statusGrid'
          }
      ]
      this.callParent(arguments);
  }
  </code></pre>
  
  <p>});</p>
  
  <p><strong><em>Grid Config</em>:</strong></p>
  
  <pre><code> Ext.define('Sample.view.StatusGrid', {
  extend: 'Ext.grid.Panel',
  alias: 'widget.statusgrid',
  multiSelect: true,
  emptyText: 'No Matching Records',
  stripeRows: true,
  columnLines: true,
  store: 'SomeStore',
  autoScroll: true,
  margin: '5 5 5 5',
  selModel: Ext.create('Ext.selection.CheckboxModel', {
      mode: 'SIMPLE',
      listeners: {
          selectionchange: function (model, selections) {
              if (selections.length &gt; 10) {
                  Ext.Msg.alert('Info', 'Max of only 10 selections allowed');
  
                  for (var i = 10; i &lt; selections.length; i++) {
                      var record = selections[i];
                      model.deselect(record, true);
                  }
              }
          }
      }
  }),
  columns: [
     // columns
  
  ]
  initComponent: function () {
      this.callParent(arguments);
  }
  </code></pre>
  
  <p>});</p>