Here is my scenario

  1. I have an excel sheet in which each row represents a different case
  2. Columns of excel sheet will remain same and the first column is unique integer key
  3. Each column of excel sheet corresponds to a step of a process such that if 1 is written in the cell, it means step completed for that case otherwise 0 means step not completed.
  4. I created a web drawing in Visio 2010 to visually represent the case management process.
  5. I created data graphics and linked each shape of my diagram to a column of excel sheet by selecting a row of data.
  6. Now when I change a cell value for the linked row in Excel, the color of the respective shape changes which is what I wanted.
  7. The problem is that web drawing has created a fixed link to that specific row whereas I want to pass the id of the row dynamically to Visio Web Access web part by using Query String Filter to display the diagram for the supplied row.

I have checked internet, tried all type of connections but it looks like it is not possible as Visio web drawing saves the unique row id at the time of linking and does not allow to pass you dynamically. Does anyone has any idea of how to bind data dynamically to visio web drawing?


Yes you are right, its not possible to pass values to Visio Web diagram in SharePoint however while searching I came across this article which seems like doing what you exactly want,

Unfortuneatly you cannot pass any argument to the visio diagram (like the item's ID) or anything else by out of the box. This made me very frustrated and I came up with a solution!

We will need:

  • custom data provider
  • http handler
  • custom visioviewer webpart

Since article is too big to put in here so I will just pass you link to it, it also got the solution he made which you can simply deploy and test or change as required,

SharePoint 2010 Dynamic Visio

Hope it helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.