All options have in common that you first try to get the binding context from the list/table element via the event. Having the right context, you can either use the getProperty()
function to get a specific property, or use the getObject()
function to get all data.
01 02 03 04 05 06 07 08 09 10 | onClick : function ( oEvent ) { // Option 1 oEvent . getParameters ( ) . item . getBindingContext ( ) . getProperty ( "ID" ) // Option 2 oEvent . getParameters ( ) . item . getBindingContext ( ) . getObject ( ) . ID // Option 3 oEvent . getParameter ( "item" ) . getBindingContext ( ) . getObject ( ) . ID // Option 4 oEvent . getSource ( ) . getBindingContext ( ) . getObject ( ) . ID } |
Note: When using a List, it’s oEvent.getParameters().listItem
instead of oEvent.getParameters().item
.
Or you could also use the sPath
property from the binding context and directly get the data from the model.
1 2 3 4 5 6 7 8 | onClick : function ( oEvent ) { // Option 5 const sPath = oEvent . getSource ( ) . getBindingContext ( ) . sPath // 5a this . getView ( ) . getModel ( ) . getProperty ( sPath ) . ID // 5b this . getView ( ) . getModel ( ) . getProperty ( sPath + "/ID" ) } |