Skip to Content

Nested subnodes/AdvancedListPanes: Bug in UI Designer?

Dear All,

I'm currently facing a problem with an addon solution.

  • Built a custom BO with 3 [0,n] subnodes nested into each other, here's the data model:

  • When creating an instance via the QA User Interface (and thereby new (sub)node items), these implicit parent-child relations work wonderfully out-of-the-box: When you select a row, the respective entries in the table bound to the subordinate node will be displayed therein.

  • BUT: When you save, close and reopen the same instance, no content of the subnodes beneath level 1 will be displayed anymore:

  • Double checked with a query to make sure these subnode items actually exist in the database, they do:

Some strange facts about this:

  • I have another (very simple) UI here which was created by a student of mine, also with 3 subnodes where this works fine, also when opening a saved BO instance
  • Spent AGES fiddling around with UI Designer properties and SADL queries by parent node ID crashing for no reason (by the way: it is sooooo awful not to be able to debug this unholy silverlight blackbox!), no improvement.
  • Then I re-bound all lists and data fields (to backend nodes and elements) and it worked! For 10 minutes. Then, when testing the UI, although I hadn't changed anything in the meanwhile, I ran into a silverlight exception(which provided no valuable information at all, as usual). Afterwards it stopped working and never worked again !?

Now my questions:

  • Has anyone had any similar problems and found a solution?
  • Is there something particular to consider here?

Appreciate all hints and comments!

Kind Regards

Pablo

Add a comment
10|10000 characters needed characters exceeded

Related questions

6 Answers

  • Posted on May 27, 2016 at 09:23 AM

    Going forward, I ran into another problem which might be related:

    To check if a time recording item ("CalendarItem") had been changed since a certain date, I wanted to introduce a status where one possible value would be "Changed" and subsequently there would be an association "ReplacedBy" to another "CalendarItem".

    Unfortunately, Dev Desktop throws error that the respective node was "not found":

    (Same error for level 2, that is EmployeePayrollTime.TimesPerEmployee.TimeTypeBalance)

    On the other hand, if I go back to subnode level 1, the association can be activated successfully:

    Could there be a connection between this problem and the fact that the subnode items from level 2 and below are not displayed when opening an existing BO instance??

    Kind Regards

    Pablo


    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jul 11, 2016 at 11:38 AM

    Finally, the reason for this erroneous behaviour could be detected.

    It was caused by a script which is used to initially query the data in the list of "Subnode Level 1" (employees who belong to a specific payroll group) after the user selected a specific value in a dropdown.

    This script is executed from within an event handler that is bound to an "OnValueChanged" event of the dropdown-list "Payroll Group".

    The strange thing is that this event handler is called immediately after opening the screen (coming from the edit-inport), although the value of the dropdown wasn't changed but just loaded from the database.


    To my understanding, this is a wrong behaviour. The event "OnValueChanged" should only be triggered if the value is actually changed by a user or another script!

    What do you think?

    Kind Regards

    Pablo

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Pablo,

      I like the idea of using the $System.IsPersistent variable.

      Did you try it?


      Sorry I do not have a solution to your issues here.

      Since UI-Designer is not my main area of expertise I'd have to set up a sample case and try myself whether I can figure something out which could be working for you.

  • Posted on May 25, 2016 at 06:03 PM

    Hi Pablo,

    Did you set the Default Lead Selection option to true for the nodes below the level1 ?

    Regards,

    Senz

    Add a comment
    10|10000 characters needed characters exceeded

    • Hey Senz,

      you are right, seems like I should raise a ticket.

      There are no BeforeSave-Events defined for subnodes in my solution, I also don't see a potential show-stopper with those events, even if they existed.

      Unfortunately, I cannot perform "Dump Analysis" on UI/Silverlight exceptions. I think this is not supported for Partner Developers (which is a serious pain point for me). But anyway, this is not an issue in this particular case.

      Thank you and Kind Regards

      Pablo

  • Posted on May 26, 2016 at 04:41 AM

    Hi Pablo,

    Compare your two screenshots:
    where it is working (lead selection shown on "Results per Employee" list)

    where it is not working (No lead selection shown on "Results per Employee" list)

    which means lead selection on save is not happening.

    Thanks, Pradeep.

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Pradeep,

      thank you for your reply.

      I don't really see what you mean as in the screenshot where it is not working, there is no data the table "Results per Employee" so how could there be a lead selection visible??

      And what do you mean by "lead selection on save"? Why "on save"?

      Kind Regards

      Pablo

  • Posted on May 27, 2016 at 07:12 AM

    Senz and Pradeep are right:

    you need to select a table row in the "results per employee" table in order to get it's content shown in the time items table.

    To do so by default on opening the screen you have to go to the UI-Designer in the Data model and set the "Default Lead Selection" property of the table (as Senz wrote).

    Best regards,

    Ludger

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jun 24, 2016 at 01:59 PM

    Just to add some more info on that:

    The problem doesn't seem to be "just a user interface issue".

    Additionally, these "backend problems" exist:

    1) Access from code level from subnode level 1 downwards not possible

    >> foreach(var child in subnode1.subnode2){no results}

    2) When I define custom queries on these subnodes level 2+, they never return any results

    >> although "normal" QueryByElements actually do return results

    3) Custom query on subnode level1 returns results BUT "Navigate by Association" in Studio Query Execution Tool doesn't show available subnode level 2 as navigation target

    >> although this target is available when executing QueryByElements on subnode level 1..

    Add a comment
    10|10000 characters needed characters exceeded

    • Hello Horst,

      you are right, I should have written "foreach(var child in specificInstanceOfSubnode1.subnode2)". I did actually use two loops in my code as you suggested, just got it wrong in my previous post, so that was not the problem, but thanks for your hint!

      Kind Regards
      Pablo

      P. S. If you want to engage, I have an open Incident 3100951089 running with Cloud Support ๐Ÿ˜Š

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.