【问题标题】:Reset one edited cell of grid重置一个已编辑的网格单元格
【发布时间】:2020-08-15 21:39:48
【问题描述】:
  • 我在行中有 3 个已编辑单元格,女巫中有 3 个重置按钮 2 个重置按钮用于 2 个单独的单元格,1 个用于整行重置。

  • 对于重置整行,我使用了grid.store.getAt(rowIndex).reject()

  • 我不知道我用什么来重置特定单元格。

【问题讨论】:

    标签: extjs extjs3 extjs-grid


    【解决方案1】:

    我找到了解决方案。

    • 我使用了按行重置按钮,女巫 1 重置按钮用于 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);
        }
        ```
    

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多