如何在网格列中显示值。

Posted

技术标签:

【中文标题】如何在网格列中显示值。【英文标题】:How to display value in grid column. 【发布时间】:2016-08-11 07:54:30 【问题描述】:

我有一个四列的 extJS 网格。在第三列上,我正在通过按钮修改值并能够显示。在第四列中,我得到空字符串 "" 作为数据。我正在提供一些输入并尝试将其保存在商店中,但它没有发生。如何在 extjs 网格存储中保存价值。

var grid = Ext.getCmp('gridID');
    var gridstore = grid.getStore();
    var modify = gridstore.modified;
    for (var i = 0; i < modify.length; i++) 
             modifyRec[i].data.S = "Hello";

S 是列的数据索引。

【问题讨论】:

【参考方案1】:

比直接更改属性更好的方法是使用 set。

var grid = Ext.getCmp('gridID');
var gridstore = grid.getStore();
var modify = gridstore.modified;
for (var i = 0; i < modify.length; i++) 
         modifyRec[i].set('S', "Hello");

编辑: 在Ext-data-AbstractStore afterEdit 触发update 事件。这是从Modelset调用的

【讨论】:

我尝试了同样的方法,但没有得到。我在调试器中获取我的值,但在 UI 中它没有出现。 它不在屏幕上呈现。 你能否提供一个小提琴它是如何不工作的。它应该可以工作.. Store 会触发一个更新事件,该事件将刷新网格。除非有什么问题。 是的,我正在存储中获取这些值(在调试器中检查)。 Store 在哪里触发更新事件? 谢谢。我正在努力。【参考方案2】:

我为你准备了一些小提琴。希望对你有帮助:

https://fiddle.sencha.com/#fiddle/1f56

为了获取修改后的记录,我使用了 getModifiedRecords() 函数。

【讨论】:

以上是关于如何在网格列中显示值。的主要内容,如果未能解决你的问题,请参考以下文章

如何根据列渲染器中的值在网格列中显示图像?

如何根据列中的某个值为 ag 网格中的整行提供背景颜色?

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

Telerik MVC Grid:如何在列中使用 DropDownList?

如何将空行添加到网格并填充列,然后在EXTJS中提交

如何在 ext.net 的 gridpanel 的组件列中显示/隐藏项目?