gpt4 book ai didi

javascript - 以编程方式更改 EditorGrid 的单元格值

转载 作者:行者123 更新时间:2023-11-28 02:56:54 25 4
gpt4 key购买 nike

我有一个编辑器网格,如果特定单元格处于焦点(正在编辑),则会弹出一个包含树面板的窗口,允许用户从树面板中选择一个节点作为单元格的新值。这样,用户实际上并没有编辑相关单元格,而是使用窗口选择新值。但是,我在以编程方式设置相关单元格的值时遇到困难。

下面是我用来设置网格的代码,包括根据值类型选择单元格使用的编辑器的列模型:

var editorCM = new Ext.grid.ColumnModel({
//config
,editors : {
//rest of editors
'id' : new Ext.grid.GridEditor(new Ext.form.TextField({readOnly : true}))
}
,getCellEditor : function(col, row) {
//choose editor depending on the type value of a cell
}
})

var editorGrid = new Ext.grid.EditorGridPanel({
//rest of config
,cm : editorCM
})

下面是我的代码,用于在用户从树形面板中进行选择后更改单元格的值。

function submitNode(newValue) {
var temp = editorGrid.GetSelectionModel().getSelectedCell(); //returns array containing column and row position of selected cell, which value we want to change.

//temp[1] = column index, temp[0] = row index
//Gets the cell editor at specific position and sets new value for that cell
editorGrid.getColumnModel().getCellEditor(temp[1], temp[0]).setValue(newValue);
}

我还尝试了其他一些方法(所有方法都包括setValue(newValue)),但都空手而归。我浏览了 API 和 ExtJS 论坛以寻找任何线索,但也一无所获。

最佳答案

我没有使用过编辑器网格,所以我把它卡在那里一点。

看看这个作为引用:http://www.extjs.com/deploy/dev/examples/grid/edit-grid.js

他们的做法(添加)似乎是直接更新商店,如果您可以识别商店记录,您肯定可以直接更新它。

查看 addPlant 的处理程序:

 handler : function(){
// access the Record constructor through the grid's store
var Plant = grid.getStore().recordType;
var p = new Plant({
common: 'New Plant 1',
light: 'Mostly Shade',
price: 0,
availDate: (new Date()).clearTime(),
indoor: false
});
grid.stopEditing();
store.insert(0, p);
grid.startEditing(0, 0);
}

如果做不到这一点,我很想看看当您将字段设置为只读时会发生什么:

  ,editors : {
//rest of editors
'id' : new Ext.grid.GridEditor(new Ext.form.TextField({readOnly : false})) }

只是一些想法。

关于javascript - 以编程方式更改 EditorGrid 的单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2374832/

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