如何从单元格编辑网格中获取 "Column Name" 和 "Previous Value"
How to get "Column Name" and "Previous Value" from Cell Editing Grid
我有一个已激活单元格编辑插件的网格。
一旦我更新了几个列,我按保存按钮,所有更新的记录(行)都用以下代码发回:
var grid = Ext.ComponentQuery.query('#CheckGrid')[0];
var store = Ext.data.StoreManager.lookup('CheckStore');
var modifieds = grid.getStore().getUpdatedRecords();
var id_check = [];
var ds_check_list = [];
var id_check_type = [];
var id_version = [];
console.log(modifieds);
if (modifieds.length > 0)
{
for(var i = 0; i < modifieds.length; i++) {
id_check.push(modifieds[i].get('ID_CHECK'));
ds_check_list.push(modifieds[i].get('DS_CHECK_LIST'));
id_check_type.push(modifieds[i].get('ID_CHECK_TYPE'));
id_version.push(modifieds[i].get('ID_VERSION'));
}
}
Ext.Ajax.request({
url: 'URL',
method: 'POST',
params: {
'Param.1': 'Check',
'Param.2': id_check.toString(),
'Param.3': ds_check.toString(),
'Param.4': id_type.toString(),
'Param.5': id_version.toString()
}
这很好用。但我想知道并发送已更新的列名及其先前的值。
当我看到 console.log(modifieds);
的控制台时,我可以发现以下内容:
那么如何在我的代码中访问这个 previousValue 对象?我想知道以前的值以及列名。
多多指教!
ds_check_list.push(modifieds[i].getPrevious('DS_CHECK_LIST'));
id_check_type.push(modifieds[i].getPrevious('ID_CHECK_TYPE'));
Ext.data.Model.getPrevious(fieldname) : Object
This method returns the value of a field given its name prior to its most recent change.
Store.getUpdatedRecords() 函数 return 是一个 Ext.data.Model 实例,后者又具有 getPrevious 方法。
查看 ExtJS 的 API 文档,然后浏览所使用的方法和 return 值通常会有很大帮助。
getUpdatedRecords() 方法记录在此处:http://docs.sencha.com/extjs/5.0/5.0.1-apidocs/#!/api/Ext.data.Model-method-getPrevious
我有一个已激活单元格编辑插件的网格。
一旦我更新了几个列,我按保存按钮,所有更新的记录(行)都用以下代码发回:
var grid = Ext.ComponentQuery.query('#CheckGrid')[0];
var store = Ext.data.StoreManager.lookup('CheckStore');
var modifieds = grid.getStore().getUpdatedRecords();
var id_check = [];
var ds_check_list = [];
var id_check_type = [];
var id_version = [];
console.log(modifieds);
if (modifieds.length > 0)
{
for(var i = 0; i < modifieds.length; i++) {
id_check.push(modifieds[i].get('ID_CHECK'));
ds_check_list.push(modifieds[i].get('DS_CHECK_LIST'));
id_check_type.push(modifieds[i].get('ID_CHECK_TYPE'));
id_version.push(modifieds[i].get('ID_VERSION'));
}
}
Ext.Ajax.request({
url: 'URL',
method: 'POST',
params: {
'Param.1': 'Check',
'Param.2': id_check.toString(),
'Param.3': ds_check.toString(),
'Param.4': id_type.toString(),
'Param.5': id_version.toString()
}
这很好用。但我想知道并发送已更新的列名及其先前的值。
当我看到 console.log(modifieds);
的控制台时,我可以发现以下内容:
那么如何在我的代码中访问这个 previousValue 对象?我想知道以前的值以及列名。
多多指教!
ds_check_list.push(modifieds[i].getPrevious('DS_CHECK_LIST'));
id_check_type.push(modifieds[i].getPrevious('ID_CHECK_TYPE'));
Ext.data.Model.getPrevious(fieldname) : Object
This method returns the value of a field given its name prior to its most recent change.
Store.getUpdatedRecords() 函数 return 是一个 Ext.data.Model 实例,后者又具有 getPrevious 方法。
查看 ExtJS 的 API 文档,然后浏览所使用的方法和 return 值通常会有很大帮助。
getUpdatedRecords() 方法记录在此处:http://docs.sencha.com/extjs/5.0/5.0.1-apidocs/#!/api/Ext.data.Model-method-getPrevious