2010-10-21 37 views

回答

8

您必须将disableSelection属性设置为true。如果指定了SelectionModel,它的值将被忽略。

例如:

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' 
}); 

如果要禁用只有一些行的选择,你可以添加一个监听给selectionModel“beforerowselect”事件并返回false时,你不想一排是选择。

+1

谢谢,但如果我有selectionModel呢。 – John 2010-10-21 17:33:03

+0

是否要禁用所有行或某些行的选择? – ncardeli 2010-10-21 18:04:35

+0

我想禁用所有行 – John 2010-10-22 04:32:42

4

使用此配置,如果你没有为你网格

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

否则你这个小动作在RowSelectionModel禁用选择

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

你可以做的另一种伎俩选择模型你的网格,看起来像这样:

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

非常感谢 – durtto 2017-08-01 13:20:24