gpt4 book ai didi

javascript - 在 Extjs grid On options select from combo box 中,它从网格中删除所有记录的选择

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:25:52 24 4
gpt4 key购买 nike

在 Combo select from options 上,它会从网格中删除所有记录的选择,甚至在您完成编辑时也会删除当前记录的选择。

  1. 从表中选择所有行。
  2. 单击最后一列单元格,它会显示用于编辑单元格的组合框,同时所有其他记录都被取消选择这是一个问题。
  3. 现在从组合框中选择值并单击任何其他记录或某处,您会注意到已编辑的行也被取消选择

我使用的是 4.1.* Extjs,我也尝试覆盖 celledit 插件以及 CheckboxModel。

有什么方法可以让记录保持选中状态,除非我没有特别从复选框列中取消选中它。

任何帮助将不胜感激,并提前致谢

here is what I have done on the fiddle

https://fiddle.sencha.com/#view/editor&fiddle/1u9i

最佳答案

嘿伙计,我 fork 了你的 fiddle 并做了一些我认为可以解决你的问题的改变: https://fiddle.sencha.com/#view/editor&fiddle/27ua

基本上,我使用 cellclick 事件监听器向网格添加了一个 viewConfigcellclick 事件首先触发;在事件处理程序中,我们检查 cellIndex 参数的值以确定单击哪个网格列来触发事件。然后我们将标志变量的值设置为 cellIndex 值,这样我们就可以在选择模型的 beforedeselect 事件处理程序中访问该值。最后,如果标志的值不是 0,我们从 beforedeselect 返回 false。

代码如下:

var store = Ext.create('Ext.data.Store', {
fields: ['name', 'email', 'region'],
data: [{
name: 'xyz',
email: 'xyz@xyz.com',
region: 'Arizona'
}, {
name: 'xyz',
email: 'xyz@xyz.com',
region: 'Alaska'
}, {
name: 'xyz',
email: 'xyz@xyz.com',
region: 'Alaska'
}, {
name: 'xyz',
email: 'xyz@xyz.com',
region: 'Alabama'
}]
});
var states = Ext.create('Ext.data.Store', {
fields: ['abbr', 'name'],
data: [{
"abbr": "AL",
"name": "Alabama"
}, {
"abbr": "AK",
"name": "Alaska"
}, {
"abbr": "AZ",
"name": "Arizona"
}]
});

var targetedCell = -1;
Ext.create('Ext.grid.Panel', {
id: 'theGrid',
viewConfig: {
listeners: {
cellclick: function(view, cell, cellIdx, record, row, rowIdx, eOpts) {
targetedCell = cellIdx;
}
}
},
title: 'data',
store: store,
width: 400,
renderTo: Ext.getBody(),
selModel: new Ext.selection.CheckboxModel({
checkOnly: true,
listeners: {
beforedeselect: function (thisSelModel, record, idx, eOpts) {
if(targetedCell != 0) {
return false;
}

return true;
}
}
}),
columns: [{
text: 'Name',
dataIndex: 'name',

}, {
text: 'Email',
dataIndex: 'email',
flex: 1,

}, {
text: 'State',
dataIndex: 'region',
editor: {
xtype: 'combo',
store: states,
displayField: 'name',
valueField: 'name',
listeners: {}
}
}],
plugins: {
ptype: 'cellediting',
clicksToEdit: 1
}

});

关于javascript - 在 Extjs grid On options select from combo box 中,它从网格中删除所有记录的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com