Como acessar elementos do fragmento XML por ID
Estou trabalhando em um aplicativo SAPUI5. Eu tenho uma exibição XML que contém um XMLFragmento e um botão para salvar.
O fragmento contém alguns controles como menu suspenso, campo de texto e uma tabela. Quando pressiono o botão Salvar, preciso obter todas as linhas da tabela e chamar um serviço de atualização do OData.
O problema está noonSave
método no controlador de exibição. Eu recebo um erro ao acessar a tabela usando seu ID. Alguém pode me ajudar e aconselhar como acessar os controles usados nos fragmentos pelo ID no controlador?
Aqui está o trecho de código:
---- Visão
<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core" xmlns:form="sap.ui.layout.form" xmlns="sap.m">
<Page>
...
<form:SimpleForm>
<core:Fragment id ="fr1" fragmentName="first" type="XML"/>
<Button id="id1" press="onSave"/>
</form:SimpleForm>
</Page>
</mvc:View>
---- Definição de fragmento
<core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
<Table id="tab1" mode="MultiSelect">
...
</Table>
</core:FragmentDefinition>
---- Controlador
sap.ui.controller("view", {
onSave: function() {
//var tab = this.getView().byId("tab1"); // Not working
var tab = sap.ui.getCore().byId("tab1"); // Not working
},
// ...
});