cancel
Showing results for 
Search instead for 
Did you mean: 

how to plug to another view in the wdDoModifyView.

Former Member
0 Kudos

as title as said:

i have one window,which embed a <b>viewSet(2,1)</b> in it.there are<b> two views</b> in <b>cell(1,1)</b> position(one is<i> default</i> <b>EmptyView</b> ,another is <b>oneView</b>),there are one view in <b>cell(2,1)</b> position(named <b>tableView</b>).

i embed a <u>talbe control</u> into <b>tableView.</b>

i wanna to decide<u> cell(1,1) display or not</u> by some leadSelectd row record in table control of <b>tableView.</b>

for some reason.i wanna to realized it in the method of

wdDoModifyView

of tableView.

i match a <i>outPlug</i> (named <b>outNaivageEmpty</b>)in <b>talbeView</b> to a inPlug in <b>EmpltyView.</b> and match another outPlug(name <b>outNavigateOne</b>)in <b>tableView</b> to a inPlug in <b>oneView</b>.

<i>following is some codes in the wdDoModifyView() of talbeView:</i>

if(!firstTime){
if(someContextFlagValue==IntConstantDisplayValue){
      wdThis.wdFirePlugOutNavigateEmpy();
}else{
      wdThis.wdFirePlugOutnavigetOne();
}
}

-


but so pity that <b>wdThis.wdFirePlugXXX</b> cann't Fire plug to the destination view,although it exec correctly,but cann't get the result i expecting.

-


wdThis.wdFirePlugXXX() cann't be exec in the method of

 wdDoModifyView()

???

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi there

I think you've just a simple Problem.

As you can read in the following Post:

<i>(...you've found the right solution because you <b>can not fire plugs in wdDoModifyView() method</b>...)</i>

Yes i know, it's WebDynPro Abap but i've the same kind of problem as you have - it seems to work but nothing happens! (in WebDynPro for Java)

Actualy i havn't got a workaround but perhaps you do have any idea?

Regards Marco

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

If u go form one view to another view (for example view <b>A</b> to view <b>B</b>,the view <b>B</b> should be default view)u just try this,put <b>empty view</b> and <b>one view</b> in different cell and try.

Former Member
0 Kudos

hi, Sathish M

maybe u misunderstand what'd i said.

the issue point is not how to set defult view.

take the following for example:

ViewA display or not is depend on the leadSelect row in ViewB.

let's assume there are three recrods in the table Constrol of ViewB:

<i> color type

-


red xxx

green yyyy

red zzzzz

-


</i>

assume the viewA hide when color='red', viewA displayed when color='green'.

for some reasons,if i wanna realize it in the method of wdDoModifyView() of viewB,how to do it?

i'v built two outPlug in viewB,one is for viewA,another for EmptyView.

i don't know what's happened when i put some code in wdDoModifyView();it exec correctly but cann't got the result i expect.

if(!firstTime){
     if("red'.equals(wdContext.currentContextElement.getColor()){
      wdThis.wdFirePlugToEmplyView();  <u>// why it cann't forward to emptyView?</u>
    }else if("green'.equals(wdContext.currentContextElement.getColor()){
      wdThis.wdFirePlugToViewA();  u]// why it cann't forward to ViewA?</u>
    }
}

Former Member
0 Kudos

If I understand your problem correctly, you want to show a "ViewA" if the selected row of a table in "ViewB" has some value, and hide it otherwise. Is that correct?

You could do that by assigning an action "SelectionChanged" to the Table.onLeadSelect event, and in the action handler, you either navigate to "ViewA" or to the empty view (to hide it).

Let's assume that the table is bound to a context node named "Rows".


void onActionSelectionChanged(...)
{
  IRowsElement row = wdContext.currentRowsElement();
  if (row == null)
  {
    wdThis.wdFirePlugToEmptyView(); // nothing selected, "ViewA" hidden
  }
  else if ( conditionToShowViewA( row.get<Attribute>() ) )
  {
    wdThis.wdFirePlugToViewA();
  }
  else
  {
    wdThis.wdFirePlugToEmptyView();
  }
}

Armin