cancel
Showing results for 
Search instead for 
Did you mean: 

Tree UI Element

Former Member
0 Kudos

I am trying to implement a non recursive tree . Something like Customer->Orders->Items.

When I use the following code, I am getting a run time error that node orders can be accessed only by Lead Selection. The code in wdDoInit is as follows:


IPrivateItemSelectionView.ICustomerNode customerNode = wdContext.nodeCustomer();
for (int i = 0; i < 3; i++)
{
  IPrivateItemSelectionView.ICustomerElement customer = customerNode.createCustomerElement();
  customer.setId("Customer No:" + i);
  customerNode.addElement(customer);
  /* customerNode.setLeadSelection(0); */
  IPrivateItemSelectionView.IOrderNode orderNode = wdContext.nodeOrder();
  for (int j = 0; j < 3; j++) 
  {
    IPrivateItemSelectionView.IOrderElement order = orderNode.createOrderElement();
    order.setId("Order Id:" + i + ":" + j);
    order.setText("Order Text:" + i + ":" + j);
    orderNode.addElement(order);
    IPrivateItemSelectionView.IItemNode itemNode = wdContext.nodeItem();
    for (int k = 0; k < 5; k++)
    {
      IPrivateItemSelectionView.IItemElement item = itemNode.createItemElement();
      item.setText("Item Id:"+ i + ":" + j + ":" +k);
      itemNode.addElement(item);
    }
  }
}

Message was edited by: Armin Reichert

(code formatted)

Accepted Solutions (1)

Accepted Solutions (1)

former_member182372
Active Contributor
0 Kudos

Hi Deepak,

You need something like:


IPrivateItemSelectionView.IOrderNode orderNode = customer.nodeOrder();

and


IPrivateItemSelectionView.IItemNode itemNode = order.nodeItem();

best regards, Maksim Rashchynski.

Former Member
0 Kudos

...and to make this work you have to set "singleton" to false for both Order and Item node

VS

former_member182372
Active Contributor
0 Kudos

Hm, but if singleton==true than you can access it by wdContext.nodeXXX() even if it is a sub node. He is getting error that leadSelection missing for node access. Can we do a conclusion that it is not singleton?

Answers (1)

Answers (1)

Former Member
0 Kudos

Valery and Maksim,

Thanks for your answers. The problem was that I was not getting customer.nodeOrder() or order.nodeItem(). However as per Valery's suggestion when I set the singleton to false I could use customer.nodeOrder and order.nodeItem().

regards,

Deepak