Sapui5: Как я могу установить начальный порядок сортировки в smarttable?

У меня есть умный стол. Как установить начальный порядок сортировки для одного или нескольких столбцов смарт-таблицы?

<mvc:View xmlns:m="sap.m" xmlns:mvc="sap.ui.core.mvc" xmlns:semantic="sap.m.semantic" xmlns:footerbar="sap.ushell.ui.footerbar"
xmlns:smartFilterBar="sap.ui.comp.smartfilterbar" xmlns:smartTable="sap.ui.comp.smarttable"
xmlns:app="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
controllerName="audi.project.definition.controller.Worklist">
<semantic:SemanticPage id="page">
    <semantic:content>
        <smartTable:SmartTable id="smartTable" entitySet="ProjectHeaderSet" tableBindingPath="/ProjectHeaderSet"
            app:p13nDialogSettings="{sort:{items:[{
                columnKey: 'Description',
                operation: 'Ascending'
            }]}}" 
            header="{i18n>/X000558}" showRowCount="true" tableType="Responsive" smartFilterId="prdefWorklistFilterBarId"
            showFullScreenButton="true" useVariantManagement="false" enableAutoBinding="true" ignoredFields="WbsElement,Method,Refnumber"
            initiallyVisibleFields="ProjectDefinition,Description,ZProjecttypeName,ZMsSchemeText">
            <smartTable:customToolbar>
                <m:OverflowToolbar design="Transparent">
                    <m:ToolbarSpacer/>
                    <m:SearchField id="searchField" tooltip="{i18n>/X000559}" width="auto" search="onSearch" liveChange="onSearchLiveChange"></m:SearchField>
                    <m:Button type="Transparent" press="onCreateBtnPress" icon="sap-icon://add" tooltip="{i18n>/X000053}"/>
                    <m:Button type="Transparent" press="onDeleteBtnPress" icon="sap-icon://delete" tooltip="{i18n>/X000058}"/>
                </m:OverflowToolbar>
            </smartTable:customToolbar>
            <m:Table id="table" mode="MultiSelect">
                <m:items>
                    <m:ColumnListItem type="Navigation" press="onPress"/>
                </m:items>
            </m:Table>
        </smartTable:SmartTable>
    </semantic:content>
</semantic:SemanticPage>

Единственная часть, которая может быть одним решением, находится здесь:

app:p13nDialogSettings="{sort:{items:[{
                columnKey: 'Description',
                operation: 'Ascending'
            }]}}"

1 ответ

Решение

Благодаря ответу на мой другой вопрос на этой странице, я наконец-то нашел ответ на этот вопрос. Я должен был использовать applyVariant функция в onBindingChange или же onInit функция зрения. Таким образом, я могу вызывать функцию, подобную следующей, каждый раз, когда открывается представление или сопоставляется маршрут.

setInitialSortOrder: function() {
        var oSmartTable = this.getView().byId("mySmartTableId");            
        oSmartTable.applyVariant({
             sort: {
                      sortItems: [{ 
                                     columnKey: "ColumnId", 
                                     operation:"Ascending"}
                                 ]
                   }
        });
}
Другие вопросы по тегам