如何验证 Extjs 可编辑网格单元

Posted

技术标签:

【中文标题】如何验证 Extjs 可编辑网格单元【英文标题】:How to validate Extjs Editable Grid Cell 【发布时间】:2013-11-22 07:04:19 【问题描述】:

我有一个可编辑的网格,对于特定的列/字段,我必须实施验证。例如,假设我有一个包含 2 列的网格。想要在输入符号及其数量后验证符号。

为了验证,将有一个服务调用,响应将有一个指示符,并基于该指示符将无效符号的背景设置为红色。

如何发送 AJAX 请求并用边框颜色红色/bgcolor 红色标记无效符号

提前致谢!!

【问题讨论】:

【参考方案1】:

对于单元格编辑,您可以使用Ext.grid.plugin.CellEditing 网格插件。这个插件有edit( editor, context, eOpts ) 事件,在单元格被编辑后触发。

在此事件的监听器中,您可以从context参数中获取有关编辑记录的信息,并向服务器发出AJAX请求进行验证。

您可以使用设置网格单元格的背景颜色:

// get element object from html code
var rowEl = Ext.get(context.row);
var tdElIdx =  context.colIdx + 1;
// find element of edited cell
var celEl = rowEl.down('td:nth(' + tdElIdx + ')');
// set background color of the cell
celEl.setStyle('background-color','red');

【讨论】:

以上是关于如何验证 Extjs 可编辑网格单元的主要内容,如果未能解决你的问题,请参考以下文章

在激活 extjs 4 时清除可编辑的网格单元

可编辑的网格 ExtJS,如何在网格上编辑行后更新数据库中的行

Extjs可编辑的网格推开行

ExtJS 2.x 重复数据的网格单元验证

在可编辑网格中,如何使 Ext 组合框在选择项目时立即完成编辑模式?

EXtjs 3.2:如何将特定单元格设置为不可编辑或只读?