code: function() {
      if(this._oCellEditor) {
          if(this._oCellEditor.save) {
              this._oCellEditor.save();
          }
          // Backward compatibility
          else if(this._oCellEditor.isActive) {
              var newData = this._oCellEditor.value;
              // Copy the data to pass to the event
              //var oldData = YAHOO.widget.DataTable._cloneObject(this._oCellEditor.record.getData(this._oCellEditor.column.key));
              var oldData = this._oCellEditor.record.getData(this._oCellEditor.column.key);
      
              // Validate input data
              if(this._oCellEditor.validator) {
                  newData = this._oCellEditor.value = this._oCellEditor.validator.call(this, newData, oldData, this._oCellEditor);
                  if(newData === null ) {
                      this.resetCellEditor();
                      this.fireEvent("editorRevertEvent",
                              {editor:this._oCellEditor, oldData:oldData, newData:newData});
                      return;
                  }
              }
              // Update the Record
              this._oRecordSet.updateRecordValue(this._oCellEditor.record, this._oCellEditor.column.key, this._oCellEditor.value);
              // Update the UI
              this.formatCell(this._oCellEditor.cell.firstChild);
              
              // Bug fix 1764044
              this._oChainRender.add({
                  method: function() {
                      this.validateColumnWidths();
                  },
                  scope: this
              });
              this._oChainRender.run();
              // Clear out the Cell Editor
              this.resetCellEditor();
      
              this.fireEvent("editorSaveEvent",
                      {editor:this._oCellEditor, oldData:oldData, newData:newData});
          }
      }   
  }
docs: Saves active CellEditor input to Record and upates DOM UI.
  
  @method saveCellEditor