点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我有一个带有搜索栏的可拖动项目列表。 当我尝试进行搜索,然后再进行一次搜索,搜索结果数量相同时,该项目将不再可拖动。
我已经尝试使DOM无效,并且也没有成功将其重新呈现。
搜索任务
onSearchTasks:function(oEvent){var aFilters = []; aFilters.push(new sap.ui.model.Filter({path:" Description",operator:sap.ui.model.FilterOperator.EQ,value1:oEvent.getParameters()。query})); this.getView() .getModel()。read("/img/OrganizationalAssignments('" + this.getView()。byId(" groupPathSelect")。getSelectedKey()+"')/GroupTasks",{ 过滤器:aFilters, 成功:jQuery.proxy(function(oData){if(oData.results.length> 0) oData.results = oData.results.sort(function(a,b){return a.Description.localeCompare(b.Description);}); this.getView()。getModel(" calendar")。setProperty("/img/GroupTasks ",oData.results); var oList = this.getView()。byId(" groupTaskList"); oList.getBinding(" items")。refresh(true);},this)});
可拖动列表项的初始化
_initDraggable:function(){var oGroupTaskList = this.getView()。byId(" groupTaskList"), oFavoriteTaskList = this.getView()。byId(" favoriteTaskList"), sMainGridId = this.getView()。byId(" mainGrid")。getId(), sGroupTaskListId = oGroupTaskList.getId(), sGroupTaskListUlId = sGroupTaskListId +"-listUl", sFavTaskListId = oFavoriteTaskList.getId(), sFavTaskListUlId = sFavTaskListId +"-listUl", fnDraggable = function(sId,sAppendTo,sContainment){ $(sId).draggable({ 助手:"克隆", appendTo:sAppendTo, 遏制:遏制, 恢复:"无效", revertDuration:500});}; oGroupTaskList.onAfterRendering = function(){if(sap.m.List.prototype.onAfterRendering){ sap.m.List.prototype.onAfterRendering.apply(this);} if(oGroupTaskList.getItems()。length> 0) fnDraggable("#" + sGroupTaskListUlId +" li","#" + sMainGridId,"#" + sMainGridId);}; oFavoriteTaskList.onAfterRendering = function(){if(sap.m.List.prototype.onAfterRendering){ sap.m.List.prototype.onAfterRendering.apply(this);} if(oFavoriteTaskList.getItems()。length> 0) fnDraggable("#" + sFavTaskListUlId +" li","#" + sMainGridId,"#" + sMainGridId);};},
这里发生问题,在这里我们用相同数量的结果进行另一个搜索,未触发" onAfterRendering"事件。 在其他所有情况下都会触发此事件。
下面我尝试使用的一个函数也没有成功
resetDraggable:function(){var oGroupTaskList = this.getView()。byId(" groupTaskList"), sMainGridId = this.getView()。byId(" mainGrid")。getId(), sGroupTaskListId = oGroupTaskList.getId(), sGroupTaskListUlId = sGroupTaskListId +"-listUl", fnDraggable = function(sId,sAppendTo,sContainment){ $(sId).draggable({ 助手:"克隆", appendTo:sAppendTo, 遏制:遏制, 恢复:"无效", revertDuration:500});}; if(oGroupTaskList.getItems()。length> 0) fnDraggable("#" + sGroupTaskListUlId +" li","#" + sMainGridId,"#" + sMainGridId);},
无论如何我都希望能够拖动项目
感谢和问候
您好
尝试将重呈现器置于超时中,以将其置于事件表的末尾。
问候,
Sarbjeet Singh
你好,
非常感谢,它运行良好!
最诚挚的问候,
佛罗伦萨·诺里森
一周热门 更多>