some explanation on unbound hierarchical mode please

2 posts, 0 answers
  1. Erdem
    Erdem avatar
    22 posts
    Member since:
    Sep 2013

    Posted 08 Jul 2015 Link to this post



     I've gone through this page and have a few questions:

    Reason for using Unbound Mode: I'm building a Multi-threaded application, this application has several slow processes in the background and each of them returns a value. I use these values to fill cells in a gridview one by one without blocking the rest of the user interface. I've got this working quite well and happy with the result. I couldn't have done this with binding (this would have resulted in constantly fully reloading the gridview, now I just modify each cell when needed). This is the reason, why I'm using unbound mode.


    Now, for my next modification - I need a hierarchy in the gridview and I'm having trouble getting this to work:

    I need something like the following:


    ROW1: AverageValue1 | AverageValue2 | AverageValue3
        ROW1a: Value1a | Value2a | Value3a
        ROW1b: Value1b | Value2b | Value3b
        ROW1c: Value1c | Value2c | Value3c
    ROW2: AverageValue1 | AverageValue2 | AverageValue3
        ROW2a: Value1a | Value2a | Value3a
        ROW2b: Value1b | Value2b | Value3b
    ROW3: AverageValue1 | AverageValue2 | AverageValue3
        ROW3a: Value1a | Value2a | Value3a
        ROW3b: Value1b | Value2b | Value3b
        ROW3c: Value1c | Value2c | Value3c
        ROW3d: Value1d | Value2d |  Value3d


    Now, when following the steps for "hierarchical grid in unbound mode" I'm getting way too many child rows. I believe the reason for this is because I'm using a template like so:

    GridViewTemplate template = radGridView1.MasterTemplate.Templates[0];

    Then I loop through the amount of childrows that need to be created like so:


    for (int j = 0; j < rowCount; j++)

    This results in having way too many childrows. I've just taken two random columnnames as the relationship => I'm assuming this is probably the reason why things aren't working.
    The thing is, in my case there is no real relationship between child and parent. The parent is just the average values of all children. Does this mean I need to create an extra column just for the sake of the relationship ?

    Also, when using unbound mode (in a non-hierarchical situation) I first create the rows, and then fill them. If in hierarchical mode, I'm getting the impression that I can't create the childrows without filling them (not sure)?

    All I really want to do, is create child rows an fill the cells one by one, whenever I can....

    Thanks in advance for the help and example !






  2. Stefan
    Stefan avatar
    2891 posts

    Posted 10 Jul 2015 Link to this post

    Hi Erdem,

    Thank you for writing.

    RadGridView uses templates for its rows. MasterTemplate is the main template, and then for child levels you use child templates. So, the MasterTemplate will hold the top level rows, and its child template will hold the rows for the child template (all of them for all parent rows). When a top row is expanded, based on the parent/child GridViewRelation, the respective subset of the child template rows will be show underneath. Having that said, you need to have valid parent/child relations, so you would need the extra column for the purpose.

    As to the many rows, I am not sure what might be causing it, but perhaps you are looking at the child template rows, which holds all rows for the inner template. To get the child rows for a specific hierarchy row, you can check its ChildRows collection, however, when attempting to add a new child row, the latter should be added to the child template with proper value for its relation with the master e.g. if the top row has ID=1 the child row should have its ParentID=1.

    If you still experience issues, please get back to us with a small example demonstrating your setup so we can work with the precise case.

    Another approach I can suggest is to look at our summary rows functionality. In the following article:, have a look at the "Summary rows in grouped RadGridView" section. The idea is that you could have your data set up on a single level and use the grouping functionality to group by a certain column, and then display summary row for the average of the items in a certain group.

    I hope that you find this information useful. Should you have any other questions, do not hesitate to contact us.

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. DevCraft R3 2016 release webinar banner
Back to Top