title: Remove ability to select specific rows in grid ExtJS 4
body: <p>I have to remove ability to select some rows in my grid.</p>
  
  <p>I use CheckboxModel</p>
  
  <pre><code>selModel: Ext.create( 'Ext.selection.CheckboxModel', {
      mode: 'SIMPLE'
  } )
  </code></pre>
  
  <p>To disable selection I use beforeselect event</p>
  
  <pre><code>beforeselect: function ( row, model, index ) {
      if ( model.data.id == '3' ) {
          return false;
      }
  }
  </code></pre>
  
  <p>And to hide checkbox I use specific class for row and css rule</p>
  
  <pre><code>viewConfig: {
      getRowClass: function( record, index ) {
          var id = record.get('id');
          return id == '3' ? 'general-rule' : '';
      }
  }
  
  .general-rule .x-grid-row-checker {
      left: -9999px !important;
      position: relative;
  }
  </code></pre>
  
  <p>Perhaps this is not the best way to achieve the desired result, but for my task it works.</p>
  
  <p>However, another problem appear: <em>Select All / Unselect All</em> checkbox in grid header stops working. When you first click on this ckechbox all lines except those that should not be selected will select, but if you click again, nothing happens. Obviously, the system tries to re-select all rows, as there are unselected.</p>
  
  <p>Is there a better way to solve the problem? Or how to solve a problem with this method.</p>
  
  <p>The only thing that comes to mind - you need to rewrite the <em>Select All / Unselect All</em> functions for checkbox, but I not sure how I can do it.</p>
  
  <p>Thanks in advance for your answers and I apologize if I made my question is not according to the rules.</p>