javascript - 如何更改 extjs 中特定列中的所有值?

标签 javascript gridview extjs extjs3 extjs-grid

我有一个带有列的可编辑网格面板,我想在按下 applyToAll 按钮时将列中的每个单独值更改为相同的值。似乎没有任何 api 调用可以让我获取列中的所有值,甚至网格面板中的所有值。

//Model that defines my column named fileName
var colModel = new Ext.grid.ColumnModel([{
    header:'File Name', 
    dataIndex:'fileName'
    }
]);

// Editable grid panel:
var myGrid = new Ext.grid.EditorGridPanel({          
    store: store,
    colModel: colModel,
    clicksToEdit: 1,
    autoWidth: true,
    autoHeight: true
});

// Button that changes all the column names
var applyToAll = new Ext.Button({
  text: "Apply to All",
  handler: function(){
    var record = myGrid.getSelectionModel().getSelected();

    //Change the values of the column here somehow.

  }
});

//Form which holds everything
var gridForm = new Ext.FormPanel({
  id: 'mainForm',
  frame: true,
  items: [{
    columnWidth: 0.6,
    layout: 'fit',
    items: [myGrid],
    buttons: [applyToAll]
 });

如何在单击 applyToAll 按钮时更改列中的所有值?

最佳答案

要知道选择了哪个单元格,请使用 CellSelection 模型

var myGrid = new Ext.grid.EditorGridPanel({          
    // ...
    selModel: new Ext.grid.CellSelectionModel(),
    // ...
});

然后可以调用store的每条记录,修改需要的值:

// Button that changes all the column names
var applyToAll = new Ext.Button({
    text: "Apply to All",
    handler: function(){
        var record = myGrid.getSelectionModel().getSelected();
        var row = myGrid.getSelectionModel().getSelectedCell()[0];
        var col = myGrid.getSelectionModel().getSelectedCell()[1];
        var column_name = myGrid.getColumnModel().getColumnAt(col).dataIndex;


        myGrid.getStore().each(function(rec){
            rec.set(column_name, myGrid.getStore().getAt(row).get(column_name));
        });
    }
});

关于javascript - 如何更改 extjs 中特定列中的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890817/

相关文章:

html - 我如何在媒体查询中隐藏 HTML 元素?

javascript - 在 EXT JS 中显示窗口

grails - Grails/Groovy Controller 应将成功返回给ExtJS

javascript - HTML5 Canvas 图像在 chrome 中不可见

javascript - 使用 JavaScript 选择和删除类

javascript - 如何在 Javascript 中从小数组填充大数组

asp.net - 将字典绑定(bind)到 GridView

c# - 带有 Select 及其 ID 可见或隐藏的 ASP.NET Gridview

extjs - Sencha CMD,从 6.0 升级到 6.1 IndexOutOfBoundsException

javascript - jQuery 根据标题修改元素的样式