作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张智能 table 。如何在智能表的一列或多列上设置初始排序顺序?
<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>
</mvc:View>
唯一可能成为解决方案的部分在这里:
app:p13nDialogSettings="{sort:{items:[{
columnKey: 'Description',
operation: 'Ascending'
}]}}"
最佳答案
感谢为我的另一个问题提供的答案page ,我终于找到了这个问题的答案。我必须在 View 的 onBindingChange 或 onInit 函数中使用 applyVariant 函数。因此,每次启动 View 或匹配路线时,我都可以调用如下函数。
setInitialSortOrder: function() {
var oSmartTable = this.getView().byId("mySmartTableId");
oSmartTable.applyVariant({
sort: {
sortItems: [{
columnKey: "ColumnId",
operation:"Ascending"}
]
}
});
}
更新的解决方案
另一种可能性是使用注释。与以前的解决方案相比,使用注释有一些好处。您可以按照以下注释设置在集合上添加排序顺序:
我在一条评论中找到了这张图片 here .
注意:不要忘记将以下定义放入注释文件中:
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="namespace.EntityContainerName">
<Annotation Term="Common.ApplyMultiUnitBehaviorForSortingAndFiltering"/>
</Annotations>
不要忘记根据您的命名空间和实体容器的名称更新 namespace.EntityContainerName
。
而且它仅在网格表上显示排序标志!
关于Sapui5:如何在smarttable中设置初始排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47868667/
我是一名优秀的程序员,十分优秀!