Ich versuche zu überprüfen, ob ich Nulldaten auf einem Controller binde. Wenn die Daten null sind, muss ich die Beschriftung sowie die verknüpften Daten nicht anzeigen.Überprüfen, ob mit einem Steuerelement verknüpfter Text null ist
Unten ist mein Code jetzt.
var oMatNrRow1 = new sap.ui.commons.layout.MatrixLayoutRow();
control1 = new sap.ui.commons.Label({
text : Appcc.getText("MATERIAL_NO") + ":"
});
matrixCell1 = new sap.ui.commons.layout.MatrixLayoutCell();
matrixCell1.addContent(control1);
control = new sap.ui.commons.Label();
control.bindProperty("text", "matnr");
matrixCell1.addContent(control);
oMatNrRow1.addCell(matrixCell1);
vendorTable.addRow(oMatNrRow1);
Ich habe control.getProperty versucht („text“), aber es gibt nur null, wenn es sollte eine Nummer haben zurück, wenn matnr nicht null ist.
Ich versuchte auch Formatierer. Ich werde kein Problem mit Formatierer haben, wenn Matnr nicht Null ist. Aber wenn es null ist, ist der Punkt, den Inhalt beider matrixCell1-Instanzen zu zerstören/zu löschen. In meinem unten stehenden Code wird sich der Zusatz von matrixCell1 noch durchsetzen.
...
formatter: function(matnr){
if (matnr !== ''){
return contract
} else{
matrixCell.destroyContent();
}
});
matrixCell1.addContent(control);
oMatNrRow1.addCell(matrixCell1);
vendorTable.addRow(oMatNrRow1);
Nicht sicher, ob Sie die ff-Code innerhalb bewegen kann, wenn Anweisung
matrixCell1.addContent(control);
oMatNrRow1.addCell(matrixCell1);
vendorTable.addRow(oMatNrRow1);
Alle Ideen sind willkommen.
Es wäre einfacher, die sichtbare Eigenschaft beider Steuerelemente wie folgt an die matnr zu binden: 'control.bindProperty (" visible ", {Pfad:" matnr ", Formatierer: Funktion (matnr) {return !! matnr; }}); '. Müssen Sie wirklich die Kontrollen zerstören? – schnoedel
Obwohl ich einen Workaround zu meinem Problem gefunden habe, werde ich das auch versuchen. Danke für das Teilen. – melai