cancel
Showing results for 
Search instead for 
Did you mean: 

Child Node data do not get displayed....

Former Member
0 Kudos

Hi All,

I have a parent node called A with cardinality 0-n and a child node B with cardinality 0-n aslo. Node A is bound to a <b>"T"</b> table UI element. B node has two attribute: childName & childID. If A.parentName is longer than 5, then A.parentName.substring(0,4) + "..." is stored in B.childName. Same logic is applied to the relationship between A.parentID and B.childID.

<b>Table T has a column with Text View UI element. Its text field is bound to B.childName and its tooltip is bound to A.parentName. </b>

<b>The problem is that only the first row of table T shows the B.childName correctly. Other row shows nothing at all.</b> But if I print out the B.childName, the string is stored correctly......but why it can not get displayed???

Please advice.

thanks,

Zita

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

I delete the structure binding of node A and add two attributes of node B directly to node A. I think the reason the value does not get displayed is that the dataSource of Table T is bound to node A and the textView UI is bound to node B which is not recognized by table T??? I don't know...this is only my guess.

Zita

Former Member
0 Kudos

Hi Zita,

Where you are writing the logic for doing A.parentName.substring(0,4) ??

Post the code also once.

Regards, ANilkumar

Former Member
0 Kudos

Here is the code:

IANode QueryContractResultNode = wdContext.nodeA();

IBNode ToolTipNode = wdContext.nodeToolTipNode();

QueryContractResultNode.invalidate();

for(int i=0; i<searchContractListSize; i++)

{

IAElement newQueryContractResultEl = QueryContractResultNode.createAElement();

WDCopyService.copyCorresponding(getList.getOutput().getI_Detail().get(i),newQueryContractResultEl);

IBElement newToolTipEl = ToolTipNode.createBElement();

if(newQueryContractResultEl.getParentName().length() >= 5)

{

newToolTipEl.setChildName (newQueryContractResultEl.getParentName().substring(0,4) + "...");

}

else

{

newToolTipEl.setChildName (newQueryContractResultEl.getParentName());

}

QueryContractResultNode.addElement(newQueryContractResultEl);

ToolTipNode.addElement(newToolTipEl);

Node A is bound to a model structure. Therefore, the value of A.parentName is set after the RFC execution.

Zita

Former Member
0 Kudos

There is a brace after

QueryContractResultNode.addElement(newQueryContractResultEl);

ToolTipNode.addElement(newToolTipEl);

<b>}</b>

Zita

Former Member
0 Kudos

Are you sure searchContractListSize is >0.

Regards, ANilkumar

Former Member
0 Kudos

Yes, I have printed out both of the A.parentName and B.childName. The total amount of row is 64. (and A.size() & B.size() is 64 too)

It shows exactly what I want...but somehow the values can not get displayed on table Text View UI element.

Zita

Former Member
0 Kudos

BTW.

the structure diagram is:

Node A (0-n)

-- parentName (string)

-- Node B (0-n)

--childName (string)

thanks,

Zita

Former Member
0 Kudos

Sorry, it should be like this..

Node A (0-n)

-


parentName (string)

-


Node B (0-n)

-


childName (string)