Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

280
Views
SAPUI5: ¿Cómo vincular matrices u objetos a elementos de la interfaz de usuario con el modelo OData?

Quiero vincular un ProcessFlowLaneHeader en SAPUI5 a un modelo OData en SAPUI5. Los textos y la posición no son un problema para encuadernar.

Mi problema es que no sé cómo puedo vincular correctamente el estado de la propiedad a un solo atributo de OData. La propiedad de estado está exceptuando una matriz u objeto, pero me gustaría dar diferentes atributos de estado y valor en mi modelo OData.

Esta es la forma cuando configura manualmente una matriz en el controlador con valores fijos

 new sap.suite.ui.commons.ProcessFlowLaneHeader({ text: "{ProcessFlowModel>label}", position: "{ProcessFlowModel>position}", state: [ { "state": "Positive", "value": 100 } ] })

pero quiero vincular el estado y el valor del estado de la propiedad a un ODataModel, y no funciona. ¿Mi sintaxis es incorrecta o es esto posible?

 new sap.suite.ui.commons.ProcessFlowLaneHeader({ text: "{ProcessFlowModel>label}", position: "{ProcessFlowModel>position}", state: [ { "state": "'{ProcessFlowModel>state}'", "value": '{ProcessFlowModel>value}' } ] })

Sé que podría hacerlo con un conjunto de entidades expandido de varios niveles después de modificar mi servicio OData, porque SAPUI5 espera un conjunto de entidades anidadas o expandidas, pero me gustaría resolverlo con atributos únicos:

Mi salida de OData parece

 "state": "Positive", "value": "50"

y no así, y esto estaría bien hasta donde yo sé

 "state": [ { "state": "Positive", "value": 25 }

Entonces, mi pregunta también es, ¿cómo puedo vincular objetos o matrices en SAPUI5 sin usar un conjunto de entidades expandido multinivel?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Nunca he usado el control, pero mi respuesta sería demasiado larga para un comentario. De todo lo que sé sobre UI5, espero que puedas hacer lo siguiente:

Cree un formateador que devuelva el objeto en el formato esperado por el control.

 formatProcessFlowLaneHeaderState: function(state, value) { return { state, value }; }

Entonces úsalo en tu encuadernación

 state: "{ parts: ['ProcessFlowModel>state', 'ProcessFlowModel>value'], formatter: '.formatProcessFlowLaneHeaderState' }"

Si se pregunta acerca de la sintaxis del formateador, está utilizando nombres de propiedad abreviados .

Además, si entiendo los documentos correctamente, ni siquiera necesita crear un objeto, pero puede devolver una matriz con dos valores. Entonces ni siquiera necesita el formateador, pero puede usar el enlace de expresión:

 state: "{= [${ProcessFlowModel>state}, ${ProcessFlowModel>value}] }"
about 4 years ago · Juan Pablo Isaza Report

0

Mi aplicación no encontró mi método formateador, así que lo puse dentro del enlace:

 new sap.suite.ui.commons.ProcessFlowLaneHeader({ text: "{ProcessFlowModel>label}", position: "{ProcessFlowModel>position}", state: { parts: ['ProcessFlowModel>state', 'ProcessFlowModel>value'], formatter: function (state, value) { return [{ state: state, value: value }]; } } })
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!