在 ExtJS 网格中禁用多行选择
Disable Multi-Row selecton in ExtJS Grid
SO 中已经有一个与我的问题类似的问题:
Ext js Editor Grid Disable Multiple Row Selection
但是接受的答案是错误的。它说要像这样使用 RowSelectionModel 作为 属性 :
selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
但是在 API 中不存在这样的东西(也许他们在谈论不同的 extjs 版本)。
如何在 Extjs 网格中禁用多 selection? IE。没有 SHIFT 或 CTRL 多 select。只允许单个 select 离子。
说明可以这样指定选择模型:
Grids use a Row Selection Model by default, but this is easy to customise like so:
Ext.create('Ext.grid.Panel', {
selType: 'cellmodel',
store: ...
});
或者备选方案是:
Ext.create('Ext.grid.Panel', {
selType: 'rowmodel',
store: ...
});
编辑:
您需要指定Selection Model MODE
Ext.application({
name: 'MyApp',
launch: function() {
var store = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
proxy: {
type: 'ajax',
url: 'data1.json',
reader: {
type: 'json',
rootProperty: 'items'
}
},
autoLoad: true
});
Ext.create("Ext.grid.Panel", {
title: 'Simpsons',
renderTo: Ext.getBody(),
store: Ext.data.StoreManager.lookup('simpsonsStore'),
selModel: new Ext.selection.RowModel({
mode: "SINGLE"
}),
columns: [{
text: 'Name',
dataIndex: 'name'
}, {
text: 'Email',
dataIndex: 'email',
flex: 1
}, {
text: 'Phone',
dataIndex: 'phone'
}],
height: 200,
width: 400,
});
}
});
SO 中已经有一个与我的问题类似的问题:
Ext js Editor Grid Disable Multiple Row Selection
但是接受的答案是错误的。它说要像这样使用 RowSelectionModel 作为 属性 :
selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
但是在 API 中不存在这样的东西(也许他们在谈论不同的 extjs 版本)。
如何在 Extjs 网格中禁用多 selection? IE。没有 SHIFT 或 CTRL 多 select。只允许单个 select 离子。
说明可以这样指定选择模型:
Grids use a Row Selection Model by default, but this is easy to customise like so:
Ext.create('Ext.grid.Panel', {
selType: 'cellmodel',
store: ...
});
或者备选方案是:
Ext.create('Ext.grid.Panel', {
selType: 'rowmodel',
store: ...
});
编辑:
您需要指定Selection Model MODE
Ext.application({
name: 'MyApp',
launch: function() {
var store = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
proxy: {
type: 'ajax',
url: 'data1.json',
reader: {
type: 'json',
rootProperty: 'items'
}
},
autoLoad: true
});
Ext.create("Ext.grid.Panel", {
title: 'Simpsons',
renderTo: Ext.getBody(),
store: Ext.data.StoreManager.lookup('simpsonsStore'),
selModel: new Ext.selection.RowModel({
mode: "SINGLE"
}),
columns: [{
text: 'Name',
dataIndex: 'name'
}, {
text: 'Email',
dataIndex: 'email',
flex: 1
}, {
text: 'Phone',
dataIndex: 'phone'
}],
height: 200,
width: 400,
});
}
});