Ich versuche, ein Kontrollkästchen auszublenden/anzuzeigen, nachdem das erste in SmartFilterBar in SAPUI5 ausgewählt wurde. Es sollte eine Änderung der Eigenschaft sein, aber ich kann den richtigen Code nicht herausfinden. Dies ist Code in meinem XML innerhalb SmartFilterBar:Wie man Checkbox in SmartFilterBar ein-/ausblenden
<smartFilterBar:ControlConfiguration key="checkbox1" label="{i18n>Processingwithoutdialog}" visibleInAdvancedArea="true" >
<smartFilterBar:customControl>
<CheckBox />
</smartFilterBar:customControl>
</smartFilterBar:ControlConfiguration>
<smartFilterBar:ControlConfiguration key="checkbox4" label="{i18n>Restrictedprotocol}" visibleInAdvancedArea="true">
<smartFilterBar:customControl>
<CheckBox editable="false" select="onSelect"/>
</smartFilterBar:customControl>
Und mein Code in controller.js:
onSelect : function(oEvent) {
var oSmartTable = oEvent.getSource();
var oSmartFilterBar = this.byId("smartFilterBar");
if (oSmartFilterBar instanceof sap.ui.comp.smartfilterbar.SmartFilterBar) {
var oCustom = oSmartFilterBar.getControlByKey("checkbox1");
var oCustom2 = oSmartFilterBar.getControlByKey("checkbox4");
oCustom2.setEditable(!oCustom.getSelected());
}
Vielen Dank für Ihre Antwort. Ich denke, ich bin jetzt nahe dran. Ich befestige onAuswählen Funktion zum Kontrollkästchen. Es funktioniert aber nicht richtig. Ich möchte die Eigenschaft von editable = "false" auf editable = "true" von "checkbox4" setzen, wenn die Eigenschaft in "checkbox1" ausgewählt ist. Ein weiteres Problem besteht darin, dass der Benutzer das Kontrollkästchen "checkbox4" verlassen und erneut auf "checkbox1" klicken kann und beide Kontrollkästchen aktiviert sind, auch wenn das "checkbox4" nicht mehr bearbeitet werden kann. Ich habe den Code in meiner Frage geändert –