После создания новой записи в базе данных через приложение SAPUI5 средство форматирования не вызывается.Таблица обновится, и новые данные будут видны, но кнопки не будут правильно включены.
См. Рисунки.
Вот код:
Обновить код:
this.byId("Table").getBinding("items").refresh();
Форматировщик:
blockedFormatterFrom: function (value) {
var datum = new Date();
var dateString = value.substr(6, 4) + "." + value.substr(3, 2) + "." + value.substr(0, 2);
if (new Date(dateString) < datum) {
editable_from = false;
} else {
editable_from = true;
}
return value;
},
blockedFormatterTo: function (value) {
var datum = new Date();
var dateString = value.substr(6, 4) + "." + value.substr(3, 2) + "." + value.substr(0, 2);
if (new Date(dateString) < datum) {
editable_to = false;
} else {
editable_to = true;
}
return value;
},
editableFormatterEdit: function (value) {
if (editable_from && editable_to) {
return true;
} else {
return false;
}
},
editableFormatterDelete: function (value) {
if (editable_to) {
return true;
} else {
return false;
}
}
XML-просмотр
<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="sap.m" controllerName="buhler.Order_Matrix.controller.View_ZSCORDERING" displayBlock="true">
<App id="idAppControl">
<pages><Page title="{i18n>title}">
<content>
<Table noDataText="Keine Daten gefunden" items="{ path: '/ZSCORDERINGSet'}" id="Table" >
<headerToolbar>
<Toolbar class="sapMTBHeader">
<Button tooltip="View Sort Settings" icon="sap-icon://sort" press="handleSortButtonPressed"/>
<Button tooltip="View Filter Settings" icon="sap-icon://filter" press="handleFilterButtonPressed"/>
<FlexBox class="alertsTablePagination" justifyContent="SpaceAround">
<Button id="policyChangeBtn" class="alertbutton" text="New" enabled="true" press="onNewPress"/>
</FlexBox>
<content>
<SearchField width="50%" search="onFilterMatrix" placeholder="Suche Verkaufsorganisation"/>
</content>
</Toolbar>
</headerToolbar>
<infoToolbar>
<Toolbar id="vsdFilterBar" visible="false">
<Text id="vsdFilterLabel"/>
</Toolbar>
</infoToolbar>
<items>
<ColumnListItem type="Active" id="item0">
<cells>
<Text text="{Vkorg}" id="text3"/>
<Text text="{ZzscSpSas}" id="text4"/>
<Text text="{path:'ValdFrom', type:'sap.ui.model.odata.type.DateTime', constraints: {displayFormat: 'Date'}, cet: true, formatter: '.blockedFormatterFrom'}" id="text5"/>
<Text text="{path:'ValdTo', type:'sap.ui.model.odata.type.DateTime', constraints: {displayFormat: 'Date'}, cet: true, formatter: '.blockedFormatterTo'}" id="text6"/>
<Text text="{ZzscIcSas}" id="text7"/></cells>
<Button text="Edit" press="onEditPress" enabled="{path: 'a', formatter: '.editableFormatterEdit'}"/>
<Button text="Delete" press="onDeletePress" enabled="{path: 'a', formatter: '.editableFormatterDelete'}"/>
</ColumnListItem>
</items>
<columns>
<Column id="column1">
<header>
<Label text="Verkaufsorganisation" id="label0"/>
</header>
</Column>
<Column id="column2">
<header>
<Label text="SAS Supplier" id="label1"/>
</header>
</Column>
<Column id="column3">
<header>
<Label text="Gültig ab" id="label2"/>
</header>
</Column>
<Column id="column4">
<header>
<Label text="Gültig bis" id="label3"/>
</header>
</Column>
<Column id="column5">
<header>
<Label text="SAS Intercompany" id="label4"/>
</header>
</Column>
<Column>
<header>
<Label text="Edit"/>
</header>
</Column>
<Column>
<header>
<Label text="Delete"/>
</header>
</Column>
</columns>
</Table>
</content>
</Page>
</pages>
</App>
Как обновить таблицу и запустить средства форматирования?