Я нашел решение.
- Я использовал кнопку сброса по строкам, в ведьме 1 кнопка сброса для Cell_2, а другая кнопка сброса для Cell_3, а третья кнопка сброса - как глобальный сброс для всей записи.
- Я делаю
grid.store.getAt(rowIndex).set("Cell_2","");
код для кнопки сброса Cell_2 и Cell_3. - "hasUnsavedChanges ()" вызов для проверки любых несохраненных изменений доступен или нет, пока вы не выходите из эта строка ИЛИ это меню.
- Если несохраненные изменения доступны, то Показать всплывающее окно и недоступно, затем удалите эту запись из списка измененных хранилищ.
hasUnsavedChanges: function() {
var isCell_1modified = false;
var isCell_2modified = false;
var isCell_3modified = false;
this.getParametersFormPanel().stopEditing();
var rowIndex = this.getParametersFormPanel().getSelectionModel().lastActive;
var storeDataRecoder = this.getParametersFormPanel().getStore().data.items[rowIndex];
var modifiedRecord = this.getParametersFormPanel().getStore().getModifiedRecords()[0];
if(storeDataRecoder && modifiedRecord){
if(storeDataRecoder.data.recordID === modifiedRecord.data.recordID){
if(modifiedRecord.modified.hasOwnProperty("Cell_1")){
if (modifiedRecord.modified.Cell_1 == storeDataRecoder.data.Cell_1){
isCell_1modified = false;
}else{
isCell_1modified = true;
}
}
if(modifiedRecord.modified.hasOwnProperty("Cell_2")){
if(modifiedRecord.modified.Cell_2 === storeDataRecoder.data.Cell_2){
isCell_2modified = false;
}else{
isCell_2modified = true;
}
}
if(modifiedRecord.modified.hasOwnProperty("Cell_3")){
if(modifiedRecord.modified.Cell_3 === storeDataRecoder.data.Cell_3){
isCell_3modified = false;
}else{
isCell_3modified = true;
}
}
}
}
if((isCell_1modified || isCell_3modified || isCell_2modified) === false){
if(this.getParametersFormPanel().getStore().getModifiedRecords()){
this.getParametersFormPanel().getStore().getModifiedRecords().length = 0;
}
}
return (isCell_1modified || isCell_3modified || isCell_2modified);
}
```