@@ -745,12 +745,7 @@ class GridBody extends Component {
745745 if ( target . data ?. field ) {
746746 dataField = target . data . field ;
747747 recordId = target . data . recordId ;
748-
749- if ( ! me . useInternalId && me . store . getKeyType ( ) ?. startsWith ( 'int' ) ) {
750- recordId = parseInt ( recordId )
751- }
752-
753- record = me . store . get ( recordId ) ;
748+ record = me . getRecord ( recordId ) ;
754749 break
755750 }
756751 }
@@ -775,12 +770,7 @@ class GridBody extends Component {
775770 for ( target of data . path ) {
776771 if ( target . cls ?. includes ( 'neo-grid-row' ) && target . data ?. recordId ) {
777772 recordId = target . data . recordId ;
778-
779- if ( ! me . useInternalId && me . store . getKeyType ( ) ?. startsWith ( 'int' ) ) {
780- recordId = parseInt ( recordId )
781- }
782-
783- record = me . store . get ( recordId ) ;
773+ record = me . getRecord ( recordId ) ;
784774 break
785775 }
786776 }
@@ -919,6 +909,15 @@ class GridBody extends Component {
919909 return record ;
920910 }
921911
912+ // Check if nodeId is a recordId (internalId or PK)
913+ if ( me . useInternalId ) {
914+ record = me . store . items . find ( r => me . store . getInternalId ( r ) === nodeId ) ;
915+ if ( record ) return record ;
916+ } else {
917+ record = me . store . get ( nodeId ) ;
918+ if ( record ) return record ;
919+ }
920+
922921 parentNodes = VDomUtil . getParentNodes ( me . vdom , nodeId ) ;
923922
924923 for ( node of parentNodes || [ ] ) {
@@ -948,7 +947,7 @@ class GridBody extends Component {
948947 let me = this ,
949948 dataField = me . getDataField ( logicalId ) ,
950949 recordId = logicalId . substring ( 0 , logicalId . length - dataField . length - 2 ) ,
951- record = me . store . get ( recordId ) ;
950+ record = me . getRecord ( recordId ) ; // Uses the new robust getRecord()
952951
953952 if ( ! record ) {
954953 record = me . store . get ( parseInt ( recordId ) )
0 commit comments