Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
simonb2013
Creator
Creator

Automate QV with Javascript

I have a C# desktop application the opens a browser and displays my QV app.

I now need that C# app to interact with the QV app, and change filters on the data.

Was hoping that I could call/inject some javascript functions to change the value of a textbox at a minimum.... but alas, now that I've seen what the rendered markup and code looks like -  that appears to be a nasty job to say the least.

From what I have seen, there is plenty of support for implementing JS in macros and extensions, but nothing I can get my hands on once the page is rendered client-side.

Any pointers on how feasible this is (without reverse engineering a whole heap of nasty code).

Many Thanks

1 Solution

Accepted Solutions
petter
Partner - Champion III
Partner - Champion III

QlikView can easily be automated directly from a C# Desktop application without going through the browser if you want. If you install the QlikView Desktop on the same computer you will also have QlikView registered as a COM-object. This can be used to automate locally stored QlikView applications or QlikView applications accessible at a QlikView Server.

View solution in original post

15 Replies
Clever_Anjos
Employee
Employee

Would you mind telling us your real purpose?

petter
Partner - Champion III
Partner - Champion III

QlikView can easily be automated directly from a C# Desktop application without going through the browser if you want. If you install the QlikView Desktop on the same computer you will also have QlikView registered as a COM-object. This can be used to automate locally stored QlikView applications or QlikView applications accessible at a QlikView Server.

simonb2013
Creator
Creator
Author

This looks very interesting Patter.

Not seen anything about that before.

I'm running off to have a play !!

Thank you .. will come back and let you know how I get on ...

simonb2013
Creator
Creator
Author

The real purpose is to allow an external app (c# Winforms) control the data that is displayed in the QV.

In context:

The QV app contains data pertaining to many warehouses.

The QV will be displayed on unattended monitors across the world.
The exact filtered data that needs to be displayed for each individual location at any time of day, is decided centrally by another central system.

Our windows app, knows which areas of data is a priority for each location at a any time.

Hence, I was looking for ways for the windows app to tell QV which filters to apply for any particular machine at any particular time.

petter
Partner - Champion III
Partner - Champion III

The documentation of the QlikView object model is in a QlikView application called APIguide.qvw. It will be installed in the directory C:\ProgramData\QlikTech\QlikView Documentation\Automation\

You might have to install the "Documentation and Tutorial" that you find as a link on the free download page of QlikView Desktop on qlik.com.

simonb2013
Creator
Creator
Author

Petter,

Sorry, but now confused: ..... "accessible at a QlikView Server".

Trying to decipher that.

Does that mean that it's designed to manipulate the application on server ?

Thus, affect everyone's view of the data universally ?

My aim is to individually tailor each client's view of the data.

I've got some of the documentation you mentioned .. but there's a lot lacking in a high level explanation of what the API does.

petter
Partner - Champion III
Partner - Champion III

Well you can do that ... If you connect to a "base" QVW-application at the server you can create Server Objects for each user. I would advise against it though since it will be quite a task to manage, update and handle although it is feasible.

You will not be able to modify the base-application in any way. But you can have just the common objects to all users there.

But what do you want to tailor individually? The UI or the data or both?

The data can be tailored by using Section Access in the application. If you want to tailor some of the UI individually it could be done without resorting to COM Automation - using just standard QlikView development. You can't however move around Sheet Objects. But you can hide or show them depending on the users ID...

Clever_Anjos
Employee
Employee

If you have different users, a Section Access with Data Reduction will do what you want

Please check your manual for "Dynamic Data Reduction"

simonb2013
Creator
Creator
Author

"individual location at any time of day"

the exact data to be displayed is dynamic

so, Monday, we might want to filter china users by product teddy bears, and French users by 'toy soldiers'.

then Tuesday china will be 'top ten toys' and france will be 'top products in Paris'