2020-09-05 17:54发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家,
我需要在每次排序后执行一些逻辑。
我知道表的" sort"事件,但在实际排序之前被称为 。
如何实现?
问候
Omri
通过调用sort事件,手动排序然后在排序后运行我的自定义代码来自行解决。
伪代码(不处理排序方向等)
onSort:function(oColumn){ var oTable = oColumn.getSource(); var oColumn = oColumn.getParameter(" column"); var oSorter = new sap.ui.model.Sorter(oColumn.getSortProperty(),false); oTable.getBinding(" rows")。sort(oSorter); for(var i = 0; i Omri
嗨,Omri,
以其他方式解决了该问题,并在xml视图上保留了sortProperty =" "。以下说明适用,但是如果您具有更复杂的列选择功能,则需要将状态管理更新为 避免为假true。 技巧是存储选定的列并管理"排序状态"。当选择列时,我们将其存储并将其更新为true。 选择升序或降序排序将开始,并且在排序之前将状态更新为false以避免无限循环。
已添加到我的控制器中
1-onInit
this.oTableSortColumn = null; this.oTableSortState = false; this.oTable.attachSort(this.sortAllColumns); this.oTable.attachColumnSelect(this.updateColumnContext);
2-updateColumnContext
this.oTableSortColumn = oEvent.getParameters()。column; this.oTableSortState = true;
3-sortAllColumns
if(vc.oTableSortState){ this.oTableSortState = false; /*在这里进行排序 * this.oTable.sort(this.oView.byId(" columnID"),library.SortOrder.Ascending,true); * 要么 * this.oTable.sort(this.oTableSortColumn,library.SortOrder.Ascending,true); */ }
此致
RémiPallier。
最多设置5个标签!
通过调用sort事件,手动排序然后在排序后运行我的自定义代码来自行解决。
伪代码(不处理排序方向等)
嗨,Omri,
以其他方式解决了该问题,并在xml视图上保留了sortProperty =""。
以下说明适用,但是如果您具有更复杂的列选择功能,则需要将状态管理更新为 避免为假true。
技巧是存储选定的列并管理"排序状态"。
当选择列时,我们将其存储并将其更新为true。
选择升序或降序排序将开始,并且在排序之前将状态更新为false以避免无限循环。
已添加到我的控制器中
1-onInit
2-updateColumnContext
3-sortAllColumns
此致
RémiPallier。
一周热门 更多>