在单个视图中针对多个表的多个过滤器

2020-09-24 11:37发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我们在视图中实现了多个表...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们在视图中实现了多个表,但是客户端希望为每个表添加过滤器。 我们还成功地对一个表实现了过滤器,但是当实现第二个表时,该过滤器不适用于两个表。

在WdDoModifyView中:

IWDTable tbl1 =(IWDTable)view.getElement(" DesktopTbl"); wdContext.currentContextElement()。setTableFilter(new TableFilter(tbl1,wdThis.wdGetFilterDesktopAction(),sourceNode,null,1));

IWDTable tbl2 =(IWDTable)view.getElement(" LaptopTbl"); wdContext.currentContextElement()。setTableFilter(new TableFilter(tbl2,wdThis.wdGetFilterLaptopAction(),sourceNode2,null,1));

在onActionFilterDesktop中:

wdContext.currentContextElement()。getTableFilter()。filter(sourceNode,resultNode);

在onActionFilterLaptop中:

wdContext.currentContextElement()。getTableFilter()。filter(sourceNode1,resultNode1);

请帮助。 实施桌面时,过滤器工作正常。 但是,当为笔记本电脑添加过滤器时,一切都不对。

问候。

1条回答
haha101010
2020-09-24 11:52

您正在使用相同的TableFilter类。

在上下文中创建两个Tablefilter。

IWDTable tbl1 =(IWDTable)view.getElement(" DesktopTbl"); wdContext.currentContextElement()。setTableFilterDesktop(new TableFilter(tbl1,wdThis.wdGetFilterDesktopAction(),sourceNode,null,1));

IWDTable tbl2 =(IWDTable)view.getElement(" LaptopTbl"); wdContext.currentContextElement()。setTableFilterLaptop(new TableFilter(tbl2,wdThis.wdGetFilterLaptopAction(),sourceNode2,null,1));

在onActionFilterDesktop中:

wdContext.currentContextElement()。getTableFilterDesktop()。filter(sourceNode,resultNode);

在onActionFilterLaptop中:

wdContext.currentContextElement()。getTableFilterLaptop()。filter(sourceNode1,resultNode1);

一周热门 更多>