2010-10-21 7 views

Répondre

8

Vous devez définir la propriété disableSelection sur true. Sa valeur est ignorée si un SelectionModel est spécifié.

Par exemple:

var grid = new Ext.grid.GridPanel({ 
    disableSelection: true, 
    store: new Ext.data.Store({ 
     reader: reader, 
     data: xg.dummyData 
    }), 
    columns: [ 
     {id:'company', header: "Company", width: 200, sortable: true, dataIndex: 'company'}, 
     {header: "Price", width: 120, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'}, 
     {header: "Change", width: 120, sortable: true, dataIndex: 'change'}, 
     {header: "% Change", width: 120, sortable: true, dataIndex: 'pctChange'}, 
     {header: "Last Updated", width: 135, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'} 
    ], 
    viewConfig: { 
     forceFit: true, 

//  Return CSS class to apply to rows depending upon data values 
     getRowClass: function(record, index) { 
      var c = record.get('change'); 
      if (c < 0) { 
       return 'price-fall'; 
      } else if (c > 0) { 
       return 'price-rise'; 
      } 
     } 
    }, 
    width:600, 
    height:300, 
    frame:true, 
    title:'Framed with Checkbox Selection and Horizontal Scrolling', 
    iconCls:'icon-grid' 
}); 

Si vous souhaitez désactiver la sélection de quelques lignes seulement, vous pouvez ajouter un écouteur au SelectionModel « beforerowselect » événement et return false si vous ne voulez pas être rangée choisi.

+1

Merci, mais que faire si j'ai aussi selectionModel. – John

+0

Voulez-vous désactiver la sélection de toutes les lignes ou de certaines lignes? – ncardeli

+0

Je souhaite désactiver toutes les lignes – John

4

utiliser cette configuration si vous ne disposez pas d'un modèle de sélection pour vous grille

var grid = new Ext.grid.GridPanel({ 
    disableSelection: true, 
}); 

autre vous cette petite astuce pour désactiver la sélection dans le RowSelectionModel

var grid = new Ext.grid.GridPanel({ 
    selModel : new Ext.grid.RowSelectionModel({selectRow: Ext.emptyFn}) 
}); 
1

vous pouvez faire une autre astuce pour votre grille, ressemble à ceci:

grid.getSelectionModel().lock(); 
+0

Très bien merci – durtto

Questions connexes