在WebDynpro Java的弹出窗口中显示所选行

时间:2015-06-02 14:05:06

标签: java popup sap webdynpro netweaver

我有一个包含元素的表格和一个删除按钮 我的要求是:当我选择一个元素时,如果我按下这个按钮,它会打开一个带有相同表格的弹出窗口,但只能选择该元素。

以下是" action"的代码对于"删除"按钮:

public void onActionDeleteElement(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
      {
        //@@begin onActionDeleteElement(ServerEvent)
           logger.entering("onActionDeleteElement");

            IWDWindowInfo windowInfo = (IWDWindowInfo) wdComponentAPI
                    .getComponentInfo().findInWindows("Popup_View");
            IWDWindow window = wdComponentAPI.getWindowManager().createModalWindow(
                    windowInfo);
            window.setTitle("Selected");

            window.show();


            logger.exiting("onActionDeleteElement");
        //@@end
      }

我真的需要帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

实际上,您似乎已将两个表绑定到同一数据源(同一节点),因此第二个表显示相同的内容。在您的情况下,实现给定的要求会很复杂。 最简单的方法是:

  1. 从公共节点取消绑定弹出表。
  2. 为弹出表创建单独的节点并将表绑定到它。
  3. 弹出视图/窗口的wdDoInit方法

    1. 获取公共映射节点的当前元素。

      IWDNodeElement element = mappedNode.getCurrentElement();
      

      您还应该检查该节点是否允许多选。

      mappedNode.isMultiSelected(i)
      
    2. 将所选元素添加到弹出节点

      popupNode.addElement(element);