Tree view in main grid

Hi there, I'm currently fumbling around with SP12 and am trying to get a tree grid view to display on the main grid instead of a relationship grid. For instance, I'd want to display all my Part BOMs in the main grid to allow users to manually browse through them. A next step would be to show both Part BOMs and Part Documents so users can navigate through the Part structure to find the Document item they want to work on/review etc. I manage to get the grid up and running in relationship grids using the Tree Grid View and Query builder but can't seem to get it to work in the main grid. To make things easier, our Part items have an "is_top" property to define whether or not the item is the top item in its respective Part BOM, so to gather the top elements for each Part BOM one just has to look for elements where the "is_top" property is set to 1. From there, the rest of each tree can be added.
Parents
  • Dear Christopher, When implementing this solution both the Form preview and the main grid displayed blank. I expect that this is because the startConditionProviderParam is empty. When the grid is appended to a Part item, it can use this Part item as its context and starting point. In my case however I'll have to provide a condition along the lines of "where [part].[is_top] = '1'". I had configured this in the Query Definition as "[is_top] = 1" but this doesn't seem to suffice. I guess the question here is this: How can we tell our Tree Grid View what its starting condition/query (where [part].[is_top] = '1') should be? Edit: I tried a different approach. Instead of creating the Tree Grid View for a Relationship Grid, I let set Tree Grid View Usage to JavaScript Method. This gave me a chunk of code which I then placed in the HTML element on the Form. This almost worked. When saving the Form or selecting the dummy itemtype from the TOC it now creates a pop-up with the Tree Grid View (with content as desired). I suspect the last problem to be in this piece of code: topWindow.ArasModules.MaximazableDialog.show('iframe', dialogParameters).promise.then(function() { delete topWindow.CustomStartConditionProvider; delete topWindow.CustomParametersProvider; } For now it points to a dialog box where it should just point to the main grid. So... How do we go about doing that?   To give you a little bit more insight in the use case, I work for an engineering bureau that uses the Systems Engineering methodology to engineer the electrical installation and software for large infrastructural objects. As such, our hardware and software engineers are used to thinking in System Breakdown Structures (or SBS). This means that when they want to work on a specific document they find it easier to browse through the SBS to find it rather than search for it in the Document grid. I have some more ideas to incorporate in this particular view and later to automate some steps that are currently being executed by users manually, but first things first. My job basically is to make life easier for everyone in the company using ARAS and to make sure we keep up with the latest developments.
Reply
  • Dear Christopher, When implementing this solution both the Form preview and the main grid displayed blank. I expect that this is because the startConditionProviderParam is empty. When the grid is appended to a Part item, it can use this Part item as its context and starting point. In my case however I'll have to provide a condition along the lines of "where [part].[is_top] = '1'". I had configured this in the Query Definition as "[is_top] = 1" but this doesn't seem to suffice. I guess the question here is this: How can we tell our Tree Grid View what its starting condition/query (where [part].[is_top] = '1') should be? Edit: I tried a different approach. Instead of creating the Tree Grid View for a Relationship Grid, I let set Tree Grid View Usage to JavaScript Method. This gave me a chunk of code which I then placed in the HTML element on the Form. This almost worked. When saving the Form or selecting the dummy itemtype from the TOC it now creates a pop-up with the Tree Grid View (with content as desired). I suspect the last problem to be in this piece of code: topWindow.ArasModules.MaximazableDialog.show('iframe', dialogParameters).promise.then(function() { delete topWindow.CustomStartConditionProvider; delete topWindow.CustomParametersProvider; } For now it points to a dialog box where it should just point to the main grid. So... How do we go about doing that?   To give you a little bit more insight in the use case, I work for an engineering bureau that uses the Systems Engineering methodology to engineer the electrical installation and software for large infrastructural objects. As such, our hardware and software engineers are used to thinking in System Breakdown Structures (or SBS). This means that when they want to work on a specific document they find it easier to browse through the SBS to find it rather than search for it in the Document grid. I have some more ideas to incorporate in this particular view and later to automate some steps that are currently being executed by users manually, but first things first. My job basically is to make life easier for everyone in the company using ARAS and to make sure we keep up with the latest developments.
Children
No Data