Hi ExB Gurus
Hoping someone can help me with this issue.
I have a Feature Layer that holds hierarchical data, the features have an ID field and a parentID field, so a feature can hold a reference to a parent feature in the hierarchy. I want the user to be able to select and view a feature from the map and show its parent and child related features in a table widget.
I have created 3 dataviews from a FeatureLayerDataSource
1. Current Feature - I have a custom widget that selects a feature and filters this dataview to just the selected feature. The custom widget also creates an output dataSource.
2. Parent Related Feature - I have created a message action on the custom widget to filter this view at the framework based on a selection trigger using the widgets output dataSource, the Trigger/action Connection is set to parentID (trigger) = ID (action)
3. Child Related Features - I have created a message action on the custom widget to filter this view at the framework based on a selection trigger using the widgets output dataSource, the Trigger/action Connection is set to ID(trigger) = parentID
I have also added a table widget with 3 tables, one for each dataview.
When I test this configuration, the Current Feature table shows the currently selected feature (all good so far).
If the current feature has a value in parentID, I expect the Parent Related Feature table, but instead I see the current feature (in fact I see this record in tables 2 and 3)
If I select the feature with the parentID and look at table 3, I see the child feature, but I also see the same record in table 2.
Why are the dataViews not populating as expected? Do I need to create a separate dataSource (pointing to the same service/feature layer) for each dataView? Is this a bug or something in my configuration?
Your configuration makes sense to me, and I think it should work as you expected. I could not target the reason with the provided information for now. My best guess would be that the trigger is set on the selection event of the output data source instead of the original data source. Could you help me understand why you need the output data source? And besides, I think you can try adding the same services multiple times, so there would be multiple data sources that won't affect each other (selections won't sync).