gpt4 book ai didi

javascript - 如何在网格面板的列编辑器中呈现不同的文本(ExtJs6.0.2)

转载 作者:行者123 更新时间:2023-11-30 19:26:17 26 4
gpt4 key购买 nike

我有一个网格,其中有一列的编辑器配置为文本字段。

var grid = Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
itemId: 'gridPanel123',
store: store,
plugins: {
ptype: 'cellediting',
clicksToEdit: 1
},
columns: [{
text: 'Name',
dataIndex: 'name',
editor: {
xtype: 'textfield'
}
}]
});

假设该列看起来像这样,

enter image description here

显然该列的值是 ABCDE。现在,当用户点击该列时,编辑器模式会弹出如下内容:

enter image description here

现在我的问题是,是否有任何类型的渲染器可以根据列的值更改编辑器的内容。

考虑到我的示例,列值为“ABCDE”,因此编辑器值也将作为“ABCDE”出现。

但是如果我想在编辑器中用“Z”替换列中的所有“A”怎么办。所以我的编辑器值应该是“ZBCDE”。这在 extjs 中怎么可能?

最佳答案

您可以通过在单元格编辑插件的 beforeEdit 事件中设置值来实现。

cellediting: {
listeners: {
beforeEdit: function (editor, context) {
context.value = context.value.replace("A", "Z");
}
}
}

要确定应该替换哪一列,只需添加检查:

if(context.column.dataIndex == 'name'){
context.value = context.value.replace("A", "Z");
}

反向替换试试:

validateEdit: function (editor, context){
context.record.set('name', context.value.replace("Z", "A"));
context.record.commit();
}

fiddle 示例:https://fiddle.sencha.com/#view/editor&fiddle/2thq .

关于javascript - 如何在网格面板的列编辑器中呈现不同的文本(ExtJs6.0.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877382/

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