are you navigating to the SAME mashup but with a different ID context
or are you navigating to a Different mashup depending on the ID context?
When you add a Mashup definition in the Navigation Widget Properties, it will add new properties to the navigation widget that represent the Mashup parameters defined on the chosen mashup. You can now wire your 'selected row ID' to those.
If you are also dynamically determining the mashup name itself, you will have to wire that to the Mashup name property of the Navigation widget.
As per your question, you could do it by following steps:-
If you are not maintaining session per user then
1- create a thing having all the properties that you want to show on the other mashup.
2- On SelectedRowsChanged Event set the values (to be shown in new mashup) in the thing properties through a service.
3- Link the navigate with the "ServiceInvokeCompleted" event with the navigate which would navigate to the new mashup.
4- "OnMashupLoad" event call the service to retrieve the values from the thing and bind them with the widgets on the new mashup.
If you are maintaining session per user then:
1- create properties to be shown in the new mashup as session properties. For this go to subsystem then go to UserManagementSubsystem and create properties by editing the GlobalSessionProperties.
2- Map the session properties(under session tab) with the widgets in design mode of mashup.
Suppose we have two DataTable or Things Thing1 and Thing2
We want navigate Mashup1 to Mashup2.
1.Create Mashup1 add Navigation widget.
2. Navigation widget have property MashupName="Mashup2"
3. Create Mashup2.
4.Mashup2 bind with Thing2.
5.In Thing2 create one property name username.
7.Go to Navigation Widget it show "PopLinkClosed" button link "setUsername"
Likewise you can set value to other things as properties.