@@ -30,7 +30,7 @@ import { gridEditRowsStateSelector, gridRowIsEditingSelector } from './gridEditi
30
30
import { GridRowId , GridValidRowModel } from '../../../models/gridRows' ;
31
31
import { isPrintableKey , isPasteShortcut } from '../../../utils/keyboardUtils' ;
32
32
import {
33
- gridColumnFieldsSelector ,
33
+ gridColumnDefinitionsSelector ,
34
34
gridVisibleColumnFieldsSelector ,
35
35
} from '../columns/gridColumnsSelector' ;
36
36
import { GridCellParams } from '../../../models/params/gridCellParams' ;
@@ -422,9 +422,10 @@ export const useGridRowEditing = (
422
422
const { id, fieldToFocus, deleteValue, initialValue } = params ;
423
423
424
424
const row = apiRef . current . getRow ( id ) ;
425
- const columnFields = gridColumnFieldsSelector ( apiRef ) ;
425
+ const columns = gridColumnDefinitionsSelector ( apiRef ) ;
426
426
427
- const newProps = columnFields . reduce < Record < string , GridEditCellProps > > ( ( acc , field ) => {
427
+ const newProps = columns . reduce < Record < string , GridEditCellProps > > ( ( acc , col ) => {
428
+ const field = col . field ;
428
429
const cellParams = apiRef . current . getCellParams ( id , field ) ;
429
430
if ( ! cellParams . isEditable ) {
430
431
return acc ;
@@ -443,7 +444,7 @@ export const useGridRowEditing = (
443
444
acc [ field ] = {
444
445
value : newValue ,
445
446
error : false ,
446
- isProcessingProps : ! ! column . preProcessEditCellProps && deleteValue ,
447
+ isProcessingProps : column . editable && ! ! column . preProcessEditCellProps && deleteValue ,
447
448
} ;
448
449
449
450
return acc ;
@@ -456,10 +457,10 @@ export const useGridRowEditing = (
456
457
apiRef . current . setCellFocus ( id , fieldToFocus ) ;
457
458
}
458
459
459
- columnFields
460
- . filter ( ( field ) => ! ! apiRef . current . getColumn ( field ) . preProcessEditCellProps && deleteValue )
461
- . forEach ( ( field ) => {
462
- const column = apiRef . current . getColumn ( field ) ;
460
+ columns
461
+ . filter ( ( column ) => column . editable && ! ! column . preProcessEditCellProps && deleteValue )
462
+ . forEach ( ( column ) => {
463
+ const field = column . field ;
463
464
const value = apiRef . current . getCellValue ( id , field ) ;
464
465
const newValue = deleteValue ? getDefaultCellValue ( column ) : ( initialValue ?? value ) ;
465
466
0 commit comments