on 02-17-2011 1:11 PM
We have a View A in Window A which has 2 buttons:
Button 1: Open View B in Window B
Button 2: Open View C in Wiidow B
So each button opens the same WD Window B but with different views. But there seems to be no way to tell the window which view to show.
lo_window_manager = lo_api_component->get_window_manager( ).
lo_window = lo_window_manager->create_window( ... ).
lo_window->open( ).
So we decided to try fire the window's outbound interface plugs. Window B's controller was added to View A's properties/usages and then we wrote:
DATA lo_w_addsub TYPE REF TO ig_w_addsub.
lo_w_addsub = wd_this->get_w_addsub_ctr( ).
lo_w_addsub->fire_to_trial_plg( ).
This dumps on et_w_addsub_ctr( ) with the execption cx_wdr_rt_exception=>no_lazy_ctlr_create.
Controller for View, Window, Interface, and Configuration Cannot Be Created
We've fired window plugs in the past without problem, the only difference here is this is a different window.
Is this the right way to do things? Or is there and easier way?
Alternative Approach:-
create one inbound plug for each view in win B
and then two output plugs in window and connect them to views inbound plug.
create a node with some attribute in comp controller map it to win B and view having the buttons
on click of diff button set a diff value to this.
then in the handledefault method check the value of the attribute and fire the corresponding out plug.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.