셀 편집 플러그인이 활성화 된 그리드가 있습니다.
몇 개의 열을 업데이트 한 후 저장 버튼을 누르면 업데이트 된 모든 레코드 (행)가 다음 코드와 함께 다시 전송됩니다.
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
이 메서드는 가장 최근 변경 이전에 이름이 지정된 필드의 값을 반환합니다.
Store.getUpdatedRecords () 함수는 Ext.data.Model 인스턴스를 반환하며이 인스턴스에는 getPrevious 메서드가 있습니다.
일반적으로 ExtJS의 API 문서를 살펴본 다음 사용 된 메서드와 반환 값을 탐색하는 데 많은 도움이됩니다.
getUpdatedRecords () 메서드는 여기에 설명되어 있습니다. http://docs.sencha.com/extjs/5.0/5.0.1-apidocs/#!/api/Ext.data.Model-method-getPrevious
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다