Skip to Content

getting the CustomData of the view from the fragment....

Hi guys, I need your help...

I have a button edit from each line of the table, when I click I get the ID and STATUS from CustomData on the xml... when status "1" I just delete the line, when "2" I have to open a fragment where I have to check the status again... how I get the STATUS and ID from that line, not all id's and status, just only what I have clicked on, again from the fragment???

my xml :

<Button id="btnEdit" icon="sap-icon://edit" visible="true " press="_onEditGeneration">
      <customData>
           <core:CustomData value="{gia_es_odata>ID}" />
           <core:CustomData  value="{gia_es_odata>STATUS_ENTREGA}" />
      </customData>
</Button>

on edit it will check ...

_onEditGeneration: function(evt) {
       let lineID = evt.getSource().getCustomData()[0].getValue();
       let lineSTATUS = evt.getSource().getCustomData()[1].getValue();



        if (lineSTATUS == 2) {
           if (!this._oEditDialog) {
              this._oEditDialog = sap.ui.xmlfragment(this.getView().getId(),
              "tax4b.gia_es.ui.view.EditarGeracao",this);
              this.getView().addDependent(this._oEditDialog);
           }
           // Abre o dialogo
           this._oEditDialog.open(evt.getSource());    
        }

        if (lineSTATUS == 1) { 
                ... 
       } ,



dialog if "2"

_onSaveEditGeneration: function (){
      ???
}

how can I get the same id and status now???

Thanks and sry for my English.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Best Answer
    Feb 25 at 12:55 PM

    Hi Carlos,

    i would set a JSONModel to your template so that you can access the data from your template as well.

    Do something like:

    _onEditGeneration: function(evt) {
      ...
      var oCustomData = evt.getSource().getCustomData();
      this._oEditDialog.setModel(new sap.ui.model.json.JSONModel(customData), "customData");
      ...
    }

    Than you are able to do:

    _onSaveEditGeneration: function (){
      var oCustomData = this._oEditDialog.getModel("customData");
      ...
    }

    Hope that helps!

    Greetings
    Sebastian

    Add comment
    10|10000 characters needed characters exceeded