Extjs怎么给现存的grid添加新列?要求:不是列隐藏后再显示,是从无到有的新增。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Extjs怎么给现存的grid添加新列?要求:不是列隐藏后再显示,是从无到有的新增。相关的知识,希望对你有一定的参考价值。

参考技术A 你先从后台得到最数的数据,再通过数据的id去store里找这条数据, sore.find(index,function())这个方法找,找到后,把这个record拿出来。。再record.set(index,value)修改,再record.dirty=false;再grid.view.refresh()。就好了。只对这一条记录刷新追问

大佬 ,你是不是看错我的需求了?

在 EXTJS 4 中向 Ext.Grid.panel 添加监听器

【中文标题】在 EXTJS 4 中向 Ext.Grid.panel 添加监听器【英文标题】:Adding listener to Ext.Grid.panel in EXTJS 4 【发布时间】:2012-02-09 14:32:38 【问题描述】:

我正在尝试将侦听器添加到 Ext.grid.panel

listeners: 

itemclick:function( grid, record, item, index, event)

alert(index);
var record = grid.getStore().getAt(index);
alert("Edit " + record.get('data'));
alert("Type " + record.get('type'));


我想得到我点击的行的索引值。因此,当我第一次单击该行时,我会在带有索引的警报框中得到:[object Object]。后两个警报根本没有出现。

所以当我再次单击同一行时。它会显示正确的索引,然后在警告框中显示“数据”和“类型”。

如何仅在第一次点击时获得正确的值?

【问题讨论】:

为什么要从商店访问记录?事件处理程序的第二个参数是与单击的项目关联的记录。您是否有某些原因需要按索引访问记录? 还要小心定义将在参数列表中屏蔽记录变量的记录变量。 【参考方案1】:

当我将您的侦听器添加到我自己的网格面板时,我每次都会得到相同的行为。例如: 4/“编辑未定义”/“类型未定义”。

您会看到不同的行为,具体取决于您是第一次单击项目还是可能与网格的创建/渲染方式无关。

作为“索引”传递给您的侦听器函数的对象的内容可能会为您提供线索。如果您将其记录到控制台,您将能够对其进行检查。 (至少 Chrome 是这样处理对象记录的)。

虽然这不能解决您的问题,但我希望它对您的调试有所帮助。

【讨论】:

以上是关于Extjs怎么给现存的grid添加新列?要求:不是列隐藏后再显示,是从无到有的新增。的主要内容,如果未能解决你的问题,请参考以下文章

Extjs怎么给Grid增加一个CheckBox列

extjs grid 中 如何根据数据动态给checkbox赋值

extjs grid 中 如何根据数据动态给checkbox赋值

ExtJs4.x怎么去除grid动态加载数据的提示

Extjs GridPanel构造器参数意思

extjs怎么在grid里新加一列,这列的数据是从另外的表里读出的数据