重置一个已编辑的网格单元格
Reset one edited cell of grid
我在行中有 3 个已编辑的单元格,在 中有 3 个重置按钮 2 个重置按钮用于 2 个单独的单元格,1 个用于整行重置。
为了重置整行我使用了grid.store.getAt(rowIndex).reject()
.
我不知道我用什么来重置特定的单元格。
我找到了解决方案。
- 我使用了按行重置按钮,在 中,第一个重置按钮用于 Cell_2,另一个重置按钮用于 Cell_3,第三个重置按钮就像整个记录的全局重置.
- 我为 Cell_2 和 Cell_3 重置按钮编写了
grid.store.getAt(rowIndex).set("Cell_2","");
代码。
- " 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);
}
```
我在行中有 3 个已编辑的单元格,在 中有 3 个重置按钮 2 个重置按钮用于 2 个单独的单元格,1 个用于整行重置。
为了重置整行我使用了
grid.store.getAt(rowIndex).reject()
.我不知道我用什么来重置特定的单元格。
我找到了解决方案。
- 我使用了按行重置按钮,在 中,第一个重置按钮用于 Cell_2,另一个重置按钮用于 Cell_3,第三个重置按钮就像整个记录的全局重置.
- 我为 Cell_2 和 Cell_3 重置按钮编写了
grid.store.getAt(rowIndex).set("Cell_2","");
代码。 - " 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);
}
```