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赋值