Avalados por :

Optimización y personalización de columnas dinámicas en SAP.m.table

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...

¡Hola Gurus!

Tenemos una sap.m.table con 3 columnas en mi detail.view.xml:

<html:style type="text/css">
  td[data-colorCode="Overdue"] {
     background-color: pink !important;
   } 
   .cyan {  background-color : rgba(0, 255, 255, 0.28) } 
</html:style>
<Table id="meetingDetailTable" items="{screenModel>/meetingTable}">
  <columns>
	<Column id="meetTabIBpId"><header><Label text="{i18n>meetTabIBpId}"  /></header></Column>
	<Column id="meetTabIDevId"><header><Label text="{i18n>meetTabIDevId}" /></header></Column>
	<Column id="meetTabIDevDesc"><header><Label text="{i18n>meetTabIDevDesc}" /></header></Column>
  </columns>
  <items>
        <ColumnListItem id="meetingDetailTableList">
	  <cells>
	     <ObjectIdentifier 
		text="{screenModel>BusinessProcessId}"
		title="{screenModel>BusinessProcessDesc}"/>
	  </cells>
	  <cells>
		<Text
	         	text="{screenModel>ExtId}" />
	  </cells>
	  <cells>
		<Text
			text="{screenModel>DevelopmentDesc}" />
	  </cells>
        </ColumnListItem>
   </items>
</Table>

Luego agregamos algunas columnas dinámicamente:

var oModelData = oController.getModelData("screenModel");
var oMeetingTab = oController.byId("meetingDetailTable");
var oMeetinglist = oController.byId("meetingDetailTableList");


for (var i=0; i < oModelData.columns.length; i++){
    if (oModelData.
            
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Gracias por tu respuesta. Lamentablemente, el componente principal es el objeto ColumnListItem y no la celda.

Creo que cuando se ejecuta oMeetinglist.addCell(oCell), una conversión de estrechamiento convierte el objeto hijo oCell (sap.m.text/label/button/etc) en un sap.m.control, por lo que no se puede acceder a la columna HTML.

Tal vez necesitamos agregar una función de formato al objeto oCel, pero como queremos diferentes colores por valor de celda, la vinculación se realiza a ese objeto.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...
check if this helps, this.getParent().addStyleClass("cyanb");
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¡Hola! Gracias por la respuesta.

¡Funcionó!

Hemos agregado la lógica al evento de actualización del modelo y adjuntado un parámetro de datos personalizado a la celda.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola John,

Espero que el código a continuación te ayude.

var table = sap.ui.getCore().byId("__xmlview1--idProductsTable");

var cell = table.getItems()[0].getCells()[3];

var DomRef = cell.getDomRef();

$(DomRef.parentNode).addClass("backgroundRed");

Saludos cordiales,

Bhargava

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?