使用extjs ,直接在grid上编辑后,如何将整个修改的数据行 传到后台并解析成datatable
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用extjs ,直接在grid上编辑后,如何将整个修改的数据行 传到后台并解析成datatable相关的知识,希望对你有一定的参考价值。
使用extjs ,直接在grid上编辑后,如何将整个修改的数据行 传到.asmx并解析成datatable, 网上看 store 有一个getModifiedRecords方法 请教高手如何使用??
呃 这个很简单啊 grid修改编辑后 其实它自己已经记录了你所修改的数据你只需要获取并访问后台就行了
editor.on(
scope: this,
afteredit: function(roweditor, changes, record, rowIndex)
Ext.Ajax.request(
url : localhostURL + \'/Ad.do\',
method: \'POST\',
jsonData :Ext.util.JSON.encode(record.data),
// record.phantom 是否为更新数据 ? true : false
params: action:\'saveOrUpdate\',
success: function(response)
if(response.responseText == \'succ\')
Ext.example.msg(\'Message\',\'Operation success!\');
else
Ext.example.msg(\'Message\',\'Operation failed!\');
reloadAdStore();
);
);
你看 很简单 就这样就可以了 参考技术A store里面有个modified属性,里面存的是你修改的record,你可以grid.getStore().getModifiedRecords()获取那些你修改过的record,也可以grid.getStore().modified获取,反正都是获取modified数组
在 ExtJs 3.4 网格中的特定单元格中开始编辑
【中文标题】在 ExtJs 3.4 网格中的特定单元格中开始编辑【英文标题】:Start editing in a specific cell in an ExtJs 3.4 grid 【发布时间】:2012-02-24 21:08:10 【问题描述】:在我的网格中,我添加了一个行编辑器作为插件(使用new Ext.ux.grid.RowEditor()
)。我想将焦点放在特定记录中的特定列上。
这就是我现在拥有的:
editor.startEditing(record);
;
它开始编辑并将焦点放在第一个字段上,但我想定义一个不同的字段。在网上搜索我看到人们有类似的东西:editor.startEditing(record, column)
或 editor.startEdit(record, column)
第一个似乎不起作用,后一个功能不存在。
该解决方案可能依赖于“RowEditing”插件,但由于 ExtJs 对我来说是新的,我不明白该怎么做。
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:我在 ExtJS 4.0.2 中使用带有行编辑器的网格,我以编程方式添加一行并开始使用以下代码对其进行编辑:
var editor = grid.getPlugin('myRowEditor');
grid.getSelectionModel().select(lastRowCounter); //0 based selector.
editor.startEdit(lastRowCounter,1); //start editing on Second column.
【讨论】:
我误以为它是 ExtJs 4,但实际上是 3.4。无论如何感谢您的回答,这让我意识到这一点。我仍然不知道如何解决我的问题,但必须重新开始寻找解决方案。【参考方案2】:在通过尝试浪费时间进行编程之前,我建议您阅读资源。
来自 RowEditor:startEditing: function(rowIndex, doFocus)
。所以有第二个参数,但不是索引。
如果您阅读onRowDblClick
,您会发现他们首先调用startEditing
禁用焦点,然后他们处理单元格以使用doFocus
进行焦点。
顺便说一下,doFocus
依赖于一个 DOM 事件(用户点击的地方)。如果你没有这样的事件,你可以从那个函数中获得一些灵感:他们只是在列编辑器上调用focus()
,从ColumnModel#Column#getEditor()
获得。
【讨论】:
谢谢。在 2016 年和你的话我最终使用了docs.sencha.com/extjs/6.0.1/classic/src/…以上是关于使用extjs ,直接在grid上编辑后,如何将整个修改的数据行 传到后台并解析成datatable的主要内容,如果未能解决你的问题,请参考以下文章
Extjs5 如何设置grid的某行的某列单元格处于编辑状态