Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
alex_nerush
Partner - Creator II
Partner - Creator II

Workbench ASP.NET integration

Hello,

i'm using Qlikview Workbench to integrate Qlikview with ASP.NET solutions. All work fine. But right now i'm going to try new ASP.NET Razor Engine.

So, i have specific question regarding internal architecture of the Workbench.

I have succesfully created QT.QWW.WebControls.QvObject from QlikViewWorkbench.dll assembly.  So, my code looks something like this:

QvObject qv = new QvObject();

System.Web.UI.Page p = new System.Web.UI.Page();

p.Controls.Add(qv);   

qv.ID = "QvObject1";

qv.ObjectID = "LB02";   

qv.QlikViewDocument = "AdventureWorks10 (Local)";

qv.QvAjaxZfcPath = "http://192.168.65.181/QvAjaxZfc/";      

HtmlTextWriter hw = new HtmlTextWriter(Response.Output);

qv.RenderControl(hw);

  When i run page i got following results:

<div style="width:400px;height:250px;">

<div class="QvFrame" avqview="AdventureWorks10" avq="object:.Document\LB02" id="Document\LB02" style="display:none;width:400px;height:250px;">



</div>

</div>

But, when i build ASP.NET using "Workbench", something like this:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register assembly="QlikViewWorkBench" namespace="QT.QWW.WebControls" tagprefix="qww" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <qww:QvObject ID="QvObject1" runat="server" ObjectID="LB02"

            QlikViewDocument="AdventureWorks10 (Local)"

            QvAjaxZfcPath="http://192.168.65.181/QvAjaxZfc/" />

    </div>

    </form>

</body>

</html>

i got page containging appropriate objects and link to the QvAjax.js JavaScript library. Besides of that, body of the page contains also following script:

<script type="text/javascript">

//<![CDATA[

var QvBinders = [];

QvInitWorkBench = function() {

   if (typeof(Qva)!='undefined') {

       for (var i = 0; i < QvBinders.length; i++)

       {

           eval(QvBinders);

       }

       new Qva.Modal();

       new Qva.Scanner();

       Qva.Start();

   } else {

       var noJsMsg = "The Ajax javascript files could not be loaded from 'http://192.168.65.181/QvAjaxZfc/'. The value of the property QvAjaxZfcPath should point to the AjaxZfc virtual directory that's installed by the QlikView Server package.";

       var divs = document.getElementsByTagName('div');

       for(var i=0;i<divs.length;i++) {

           if (divs.className == 'QvFrame') {

               divs.parentNode.innerHTML = noJsMsg;

           }

       }

   }

}

if (typeof(Qva)!='undefined') {

   Qva.QvAjaxZfcPath = 'http://192.168.65.181/QvAjaxZfc/';

   Qva.Remote = 'http://192.168.65.181/QvAjaxZfc/QvsViewClient.aspx';

   Qva.DocumentClick = false;

}

if (typeof(Qva.Mgr) === 'undefined'){

   Qva.GetDebugFiles(QvInitWorkBench); }

else {

   if (window.attachEvent) {window.attachEvent('onload', QvInitWorkBench);} else if (window.addEventListener) { window.addEventListener('load', QvInitWorkBench, false);} else {window['onload'] = QvInitWorkBench;}

}

var qva; QvBinders[0] = "qva = new Qva.PageBinding('AdventureWorks10'); qva.View = 'AdventureWorks10'; qva.Autoview = 'ASP.default_aspx'; qva.AuthenticateUrl = 'http://192.168.65.181/QvAjaxZfc/Authenticate.aspx'; qva.Host = 'Local'; qva.Platform = 'WORKBENCH'; qva.CustomIcons = {}";

//]]>

</script>

So, question is: which class (from QlikViewWorkbench.dll assembly) responsible for generation of the JavaScript code (from example above)?

Could you please explain me how can i use QT.QWW.WebControls.Support.Proxy class?

Is there any documentation regarding  QT.QWW.WebControls.Support.Proxy and QT.QWW.WebControls.QvObject classes?

Thanks for any help.

2 Replies
Not applicable

Hi

We're facing a similar issue and stumbled upon your thread. Have you been able to fix this since? Interested to hear from you.

alex_nerush
Partner - Creator II
Partner - Creator II
Author

I would recommend you to use "div-tag" integration. This feature is available from QlikView 11. Take a look at the following link QlikView Mashup Examples & Documentation (QlikTip #48) .