点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家,
我有一个要求,我在组合框中有一个默认的选定值,我需要根据其值过滤表。 但是表格位于对话框中,该对话框在应用程序中通过片段进行调用。
现在的问题是,当我打开对话框时,它显示的是整个数据而不是已过滤的数据,并且如果我更改了组合框的值,则表将被过滤。 但是我需要在对话框打开时,根据默认的选定值对表格进行过滤。
我尝试了以下代码:
var defaultItem = this.getView()。byId(" Combobox1")。getSelectedKey(); var oTableMessage = oView.byId(" messageTable"); var binding = oTableMessage.getBinding(" items"); var aFilter = []; 如果(defaultItem){ 如果(defaultItem ===" B"){ aFilter.push(new Filter(" msg_type",FilterOperator.EQ,defaultItem)); } } 更新表绑定 binding.filter(aFilter [0],sap.ui.model.FilterType.Application);
当我们第二次打开对话框时,上面的代码有效。 当我调试时,我发现第一次打开对话框时绑定是未定义的。
请帮助并建议我如何将过滤后的数据绑定到对话框表,或者建议该方法,因为它确实很紧急。
感谢帮助。
谢谢
最好的问候
Raina
大家好,
感谢您的回答,我通过以下方式解决了问题:
使用smartTable的beforeRebindTable事件,在该事件中,我根据选择对组合框的数据进行过滤并将其绑定到表。 然后,在更改组合框的选择时,我将重新绑定表。
smartTable的beforeRebindTable事件
并且在选择更改时-下拉的更改事件:
您好, Raina Goyal ,
那里 可能有两个原因:
1)您的ComboBox没有与值绑定,并且(defaultItem)空白被传递给过滤器数据...,并且作为输出返回了所有Items。
设置组合框值以过滤参数onAfterRendering事件。
您也可以尝试在同一onAfterRendering事件中加载Fragment。
希望这对您有所帮助。
感谢-
Abhishek
您好莱娜·果阿(Raina Goyal),
在绑定发生之前,您正在传递过滤器值。 因此,使用updateFinished(在发生表绑定后将自动调用此事件)事件将过滤器参数添加到表中
希望这会有所帮助,
Raghavendra
嗨,
我在应用程序中遇到了同样的问题。
这是我做的:
您必须将事件" dataRecieved"附加到您的控件(在我的情况下为列表):
然后定义一个方法(在我的示例中为" orgMembersLoaded"),在其中过滤表。
不要忘记添加" .bind(this)"。
这应该有效;-)
一周热门 更多>