In configurable grids, it is possible to create Occurrence Columns. Occurrence columns are used to look for occurrences of an item in a list given a defined part type. It can also be used to manage that list by adding, removing and synchronizing Items. This article presents how it works given the simplified case of wanting to see what functionality that is planned for which milestone and its status with respect to versioning.


Example Meta Model


image


Desired Result


image



image


Example Definition

<Grid>
    <Columns>
        <ItemNameColumn caption="Function" width="200"/>
        <!--Columns can be defined based on data in the models. This is performed just like normal data collection.-->    
        <ForEachPart type="MILS">
            <DefObj>                                              
                <!--For every Milestone, create a column. Set the property caption to its name for readability.-->
                <!--The property partSID defines which part type that shall be used to look for an occurence of the Item defined in <Row/>.-->
                <!--If the property readOnly is set to false, it is possible to use the OccurrenceColumn to connect,-->
                <!-- disconnect and synchronize towards the OccurenceColumn Items-->             
                <OccurrenceColumn caption="#{Name}" partSID="EFUN" width="200" readOnly="false"/>
            </DefObj>
        </ForEachPart>    
    </Columns>
    <ForEach select="/PTUR/IURQ">    
        <Row/>           
    </ForEach>  
</Grid>