Customer Portal

Get Involved. Join the Conversation.

Topic

    Robert North
    Customer Portal Report : Master-Detail Data Display
    Topic posted August 14, 2019 by Robert NorthRed Ribbon: 250+ Points, last edited August 14, 2019 
    9 Views, 2 Comments
    Title:
    Customer Portal Report : Master-Detail Data Display
    Summary:
    Show Master data in Grid Format & Details in Layout format below
    Content:

    Hello,

    I'm working on displaying Master-Detail report information on the Customer Portal.

    I'm keen to hear ideas for the simplest approach & whether anybody has done anything similar before? 

    I would like to display Master Data in Grid Layout & linked Detail Data in Tabular format below. My attached image probably better describes what I'm trying to achieve.

    I've used the search/FilterDropdown widget to filter Master Data which is then displayed via the reports/Grid
    widget. The report specified in the grid widget has a column output in URL format & I append an ID to the URL. So when the link is clicked in the data grid the ID is added to the URL. This ID is used by a customised reports/Multiline widget to display further details specific to the data row.  I've customised the display of the reports/multiline widget to achieve this.

    The issue I've encountered is that because I'm re-loading the page to display the child data, then my parent data is also
    reset which would be confusing to the user. I have also encountered a problem with the child data persisting when the parent data is updated.  

    I'm now thinking of creating an event in the grid report widget that captures the ID, subscribing to that event in the child widget & using the
    ID to perform a search.

    Does anybody have any input to the above? I would like to do this in the simplest way with the minimal necessary customisation.

    Thanks & Regards, Robert North

     

     

    Version:
    18B
    Image:

    Comment

     

    • Gursimran Singh Saini

      I'm assuming you are fetching child records through Ajax?

      And the problem comes when you refresh the page?

      How about you set some URL Parameters?
      When a filter is applied, set the URL parameter.
      When you drill down to a child, set the URL parameter.

      When you refresh the page, the same filters / drill downs will be applied.

      • Robert North

        Hello Gursimran,

        No, I have not used AJAX. What I did was specify the column in the parent report to be output in URL format & appended the ID to the URL as a parameter. So when as user clicks the link in the report it's a full page load. The child report gets the ID from the URL parameter as a static filter. 

        But the search/FilterDropdown widget used by the parent report appends URL parameters st/1/page/1/<filter field>/12. So when I click a link in the parent, the page is fully reloaded displaying the child details but resetting the parent table (as the URL parameters are wiped). I also see the issue where child records persist when no ID in URL for soem reason.

        This approach did not require any customisation of the parent (grid) report widget.  So I'm thinking that I'm going to have to customise the grid widget to capture the ID onclick, then trigger AJAX request of the child report using event listener & pass the ID in.  I've not done this type of customisation with report widget previously so any thoughts on best approaches would be welcome?

        Many Thanks, Rob