Profile Picture

Query - Ability to programatically configure Jump to Another Report

Posted By Zeljka Mikulic 11 Years Ago

Query - Ability to programatically configure Jump to Another Report

Author
Message
Zeljka Mikulic
Posted 11 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)Forum Newbie (2 reputation)

Group: Forum Members
Last Active: 11 Years Ago
Posts: 2, Visits: 1

Hi Support,

We have an existing Reporting Services 2005 Report with an embedded Nevron floating bar chart.  The user is able to jump to another report by clicking on the corresponding bar they would like to see more detailed data for.   However, not all the bars should be able to jump to another report.  We want to amend the report to either enable or disable the ‘Action –> Jump to another report’ based on the value of a particular data item in the underlying dataset.
Is it possible to do this in a programmatic manner?  If so, how could this be achieved?
Attached is a word document with more details, as well as the chart configuration file.

Regards,

Zeljka.



Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 3,039, Visits: 3,746

Hi Zeljka,

Yes you can alter the generated interactivity using custom source code. In general each object that supports interactivity exposes an interactivity object. In the case of series data points those interactivity objects are stored in the interactivity styles collection of the series - the following snippet shows how to iterate trough them:

   int count = bar.Values.Count;

   for (int i = 0; i < count; i++)
   {
    NInteractivityStyle interactivity = bar.InteractivityStyles[i] as NInteractivityStyle;

    if (interactivity != null)
    {
     NInteractivityAttributeCollection interactivityAttribytes = interactivity.InteractivityAttributes;

     // do something with the interactivity attributes
    }
   }

Where bar is an instance of bar series. When the control generates interactivity attributes it will place one of the following attributes in the attributes collection per data point:

NRSBookmarkInteractivityAttribute
NRSDrillthroughInteractivityAttribute
NRSHyperlinkInteractivityAttribute

If you wish to disable the interactivity per data point you can simply erase the interactivity style for a particular data point:

bar.InteractivityStyles.Remove(dataPointIndex);

Hope this helps - let us know if you meet any problems.



Best Regards,
Nevron Support Team



Brian Dalwood
Posted 11 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)

Group: Forum Members
Last Active: 7 Years Ago
Posts: 6, Visits: 15
Hi Support,

I have been able to disable the "Jump to Report" action on certain bars by specifying hard coded numbers for (dataPointIndex) using bar.InteractivityStyles.Remove(dataPointIndex); however, I would like to be able to use this remove method conditionally on bars based on either the value of the bar or another data series.

e.g. Please refer to the attached Word document description in Zeljka's original post.
I need to conditionally remove the InteractivityStyle from the respective data bars in the Value series based on the value of the corresponding item from the BarType series. I also need to remove the same if the value of the bar (in the Value series) equals 0.
This means I need to monitor the corresponding values in 2 different data series to set a property (call the remove method) on one of them.

Can you please provide some direction (or code structure) for achieving this.

An additional requirement would also be to show a tooltip when the mouse is hovered over a data bar where the Interactive action is enabled. I can't seem to find any good examples of how to achieve this functionality either.

Any help you can provide would be appreciated.
Thanks

Brian. (work collegue of Zeljka)




Nevron Support
Posted 11 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 3,039, Visits: 3,746

Hi Brian,

You can access the value of individual bars using something like:

double barValueAtIndex = (double)bar.Values[someIndex];

which gives you the value of the bar at index "someIndex".

Regarding the tooltip - all of the above interactivity attributes have a property called "Tooltip" which allows you to specify a tooltip for the object the interactivity is attached to.



Best Regards,
Nevron Support Team





Similar Topics


Reading This Topic