We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Embedded dashboard not running on a client machine

Hello, 

I have an embedded dashboard which well on the server but it doesn't run on a client machine. below is the code I used
attached is the error I get whenever I try accessing it on a client machine 

View

div class="container">
    <ul class="tabs">
        <li class="tab-link current" data-tab="tab-1">Web</li>
     </ul>
   
    <div id="tab-1" class="tab-content current" style=" width: 100%;height: 100%; background: #ededed;">
        @Html.EJDashboard().DashboardViewer("dashboard").ServiceUrl(@ViewBag.ServiceUrl).DashboardPath(@ViewBag.DashboardPath).FilterParameters(ViewBag.filterParams)
    </div>
 
</div>


Controller


         public ActionResult FacilityDashboard()
        {
            int? facility_id = -1;
            if (new UserManagement().getCurrentuserFacility() != null)
                facility_id = new UserManagement().getCurrentuserFacility();
            var facility = context.A_Facilities.FirstOrDefault(a => a.FacilityCode == facility_id).Facility;
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\dashboard.sydx";
            DashboardWindowsServiceInfo dashboardViewer = new DashboardWindowsServiceInfo();
            ViewBag.Errormessage = dashboardViewer.Errormessage;
            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;
            ViewBag.filterParams = "Facility =" + GetNumbers(facility);//"Facility=fcName";

            return View();
        }


Many Thanks 

Simon

Attachment: dashoard_Error_c437321e.rar

19 Replies

RN Renuka N Syncfusion Team June 10, 2019 08:50 AM UTC

Hi Simon   
 
Thanks for contacting Syncfusion Support.  
 
Please find the response for the query below  
Queries 
Response 
I have an embedded dashboard which well on the server but it doesn't run on a client machine. below is the code I used  
attached is the error I get whenever I try accessing it on a client machine   

         public ActionResult FacilityDashboard() 
 
        {  
            int? facility_id = -1;  
            if (new UserManagement().getCurrentuserFacility() != null)  
                facility_id = new UserManagement().getCurrentuserFacility();  
            var facility = context.A_Facilities.FirstOrDefault(a => a.FacilityCode == facility_id).Facility;  
            ViewBag.DashboardPath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "\\\\") + "Dashboards\\\\dashboard.sydx";  
            DashboardWindowsServiceInfo dashboardViewer = new DashboardWindowsServiceInfo();  
            ViewBag.Errormessage = dashboardViewer.Errormessage;  
            ViewBag.ServiceUrl = dashboardViewer.ServiceUrl;  
            ViewBag.filterParams = "Facility =" + GetNumbers(facility);//"Facility=fcName";  
  
            return View();  
        }  
We have noticed that you are  using windows service to embed the dashboard in your application. Dashboard Service as Windows service is not recommended for the production environment. Windows Service can be accessed only in the machine where the Dashboard Platform SDK is installed. In the other machines the dashboard will throw the DV007 error.  
 
To resolve the issue you are facing host the Dashboard Service in the IIS by following the steps mentioned in the below UG   
 
 
Once hosted the Dashboard Service, add the Dashboard Service URL  in your code snippet  
            ViewBag.ServiceUrl = “http://{IP Address:Port Number}/DashboardService.svc”;  
 
In the Service URL IP Address and Port Number can also be replaced by your domain name.  
 
Please let us know if you need further assistance on this. We are happy to help you.  
 
Regards  
Renuka N. 



SB Simon Bunya June 10, 2019 04:09 PM UTC

Hello Renuka, 

Many thanks for your response, I have tried the advised approach but with no success. 

Is hosting the dashboard Service in IIS the same as publishing that dashboard? Because whenever I browse the hosted dashboard service in IIS, it takes me to the link of the published dashboards. 


Please advise 

Thanks 

Simon


RN Renuka N Syncfusion Team June 11, 2019 06:21 AM UTC

Hi Simon,  

Thanks for your update. 

No hosting the Dashboard Service is not similar to publish the dashboard/application. I hope you have published the Dashboard along with the application you have created using “Publish” option in the Visual Studio.  

However to host the Dashboard Service as website in IIS you need to follow the steps mentioned in the below UG   


In the Dashboard Service we don’t have any Dashboard files(*.SYDX) so we suspect that you are browsing the dashboard file hosted URL instead of the browsing the dashboard service URL. As in the below screenshot, select on the Dashboard Service website which you have hosted in the IIS and click on the browse.  

  

Please let us know, if you have any queries. 

Regards  
Renuka N. 



SB Simon Bunya June 11, 2019 08:11 AM UTC

Hello Renuka,

Thanks for the support.

Followed this video https://www.youtube.com/watch?v=LBylYbBot7U and have hosted the Dashboard Service as website in IIS and now it runs well

However, when I run the embedded dashboard application, the dashboard keeps on rotating and it doesn't show any output 


Here is my controller 



Please  advise 

Many Thanks  

Simon



PS Prince Solomon Bala Subramani Syncfusion Team June 11, 2019 08:34 AM UTC

Hi Simon, 

Thanks for the update. 

To resolve the issue pass the Dashboard Service URL as in the below format. No need of curly braces on the Service URL. 

ViewBag.ServiceUrl = “http://localhost:2000/DashboardService.svc” 

Regards 
Prince Solomon  



SB Simon Bunya June 11, 2019 09:57 AM UTC

Many thanks 

It has worked 


RN Renuka N Syncfusion Team June 11, 2019 10:41 AM UTC

Hi Simon, 
 
Thanks for your update. 
 
We are glad that the provided solution worked at your end.  
 
Regards, 
Renuka N. 



SB Simon Bunya July 2, 2019 02:01 PM UTC

Hello there, 


I have a dashboard with filters, and I'm trying to link dashboards with the selected parameters from the first dashboards and it brings a list of items in a grid format, 
how can I achieve this?

Thanks

Simon


RN Renuka N Syncfusion Team July 3, 2019 10:06 AM UTC

Hi Simon,  

Thanks for contacting Syncfusion support. 

To link two dashboards using Dashboard Linking option, you must enable “Act as Master Widget” in any one of widgets in second dashboard. Kindly follow below steps to enable Dashboard Linking option.  


 
  1. Enable “Act as Master Widget” property for the second Dashboard(i.e. Dashboard B) widget for which you want to apply linking.
For Example, If the fist dashboard has two widgets named Grid_1 and Chart_1 and the second dashboard has two widgets named TreeMap_1 and PropertionalChart_1 then, we must enable “Act as Master Widget” for any one of the widget in second dashboard like as below,  
  
Here we have set “Act as Master Widget” for Tree Map widget.  
  1. Now go to the first dashboard and choose the widget for which you wish to apply Dashboard Linking. Navigate to that widget Properties Window. Here we are going to apply Linking for Chart widget.
   
  1. Select “Enable Linking” checkbox and choose “Internal” option. Select second dashboard in “Tab” combo box.
   
  1. Click “Set Parameters” button and set the source and target columns for which you to apply linking,
   
If you click any of the Country in the Chart column, you can navigate your second dashboard. In the second dashboard, your chosen country will be selected in Tree Map widget. Based on the selected value in Tree Map, all other slave widgets in the second dashboard gets filtered out.   
Herewith, we have attached sample video file of Dashboard Linking for your reference,  https://www.syncfusion.com/downloads/support/directtrac/general/ze/dashboardlinking1495676488 . 

Kindly let us know if you need any further assistance. 

Regards, 
Renuka N. 



SB Simon Bunya July 3, 2019 11:25 AM UTC

Hello Renuka N.

Thanks for your response,  but I want to link using the Dashboard option, then I pass parameters basing on the selected filters 

Thanks






DG Dhivyabharathi Govindaraj Syncfusion Team July 3, 2019 01:08 PM UTC

Hi Simon, 

You can also pass the parameters based on the applied filters either by using Dashboard Linking or URL Linking. Please find the steps below. 

Using Dashboard Linking: 
 
  1. Create a dashboard using  some filter widgets. For Example, here we are using a Combo box widget and a Grid widget. Bind any columns in both the widgets and enable “Act as Master Widget”  check box for Combo box widget.
 
  1. Now publish the dashboard and get the link from server.
  2. Create another dashboard with some widgets. Example, Tree map widget and Grid widget
  3. Now enable Linking option for Tree Map Widget by entering the dashboard published URL.
 
  1. Then in the Parameter window, set parameters for your filter widget as below.
 
  1. Now preview the dashboard. If you click any Country in Tree map widget then the first dashboard gets filtered out with that selected country value alone in a new tab.

Using Dashboard URL option:  
 
  1. In the Dashboard URL itself, you can add query parameters to apply the filter value for your dashboard like as below.

 
 
  1. Now preview the dashboard. If you click any Country in Tree map widget then the first dashboard gets filtered out with that selected country value alone in a new tab.

Kindly refer below Knowledge Base document to know more about Dashboard Linking option, https://www.syncfusion.com/kb/8053/how-to-link-to-reports-with-parameters .  

Also we have attached the sample video file using both Dashboard Linking and URL Linking option for your reference, http://www.syncfusion.com/downloads/support/directtrac/general/ze/dashboardlinkingwithfilters-716843005  

We hope this satisfies your requirement. If your requirement is different from our case, then kindly explain your requirement with some examples. Let us know if you have any concerns. 
 
Regards, 
Dhivya 



SB Simon Bunya July 15, 2019 10:35 AM UTC

Hello,

Thanks for the support....

I want to be able to edit a blocked date on a calendar schedule. The idea is if one makes an error in blocking appoints, is it possible to edit them. 

find below the screenshot.



Many thanks

Simon
  


JR Jenitta Rachel Chellapandian Syncfusion Team July 16, 2019 09:49 AM UTC

Hi Simon, 

Can you please confirm, whether you are using a calendar custom widget in a dashboard or an essential studio schedule control  ? 

Please let us know, if you have any concerns. 
 
Thanks, 
C Jenitta Rachel 



SB Simon Bunya July 16, 2019 09:53 AM UTC

Hello  Jenitta Rachel,

i'm using essential studio schedule control 

Thanks

Simon


KK Karthigeyan Krishnamurthi Syncfusion Team July 17, 2019 07:21 AM UTC

Hi Simon 
 
Thanks for the update. 
 
As per your image, we suspect that your requirement is to edit the Jul 1 block date so that it can be rendered in some other date. If it is your requirement, we would like to inform that it is not possible to achieve it. 
 
Regards, 
Karthi 



SB Simon Bunya July 17, 2019 07:28 AM UTC

Hello Karthigeyan Krishnamurthi, 

Thanks for your response, 

So you are saying if a user makes a mistake on which date to block (Like here July 1st), he/she cant amend or edit it? 

Because this is what I want to be able to edit a blocked date.

please advise..

Thanks 

Simon




KK Karthigeyan Krishnamurthi Syncfusion Team July 22, 2019 07:23 AM UTC

Hi Simon, 

We have prepared the below work around sample, to display the custom window while clicking the block range which allows the user to edit the range. 

Regards, 
Karthi 



SB Simon Bunya July 22, 2019 02:28 PM UTC

Hello Karthigeyan Krishnamurthi, 

Thanks for the update, it achives what i wanted,  but still have a challenge, it loads a custom dialog and sometimes it doesn't.
it always complains about the "split function", 

 var data = scheduleObj.model.blockoutSettings.dataSource;
  filterData = new ej.DataManager(data).executeLocal(new ej.Query().where("Id", ej.FilterOperators.equal, parseInt(args.target.getAttribute("id").split("_")[1])))[0]; 


What does the split function do?


Many thanks

Simon


HB Hareesh Balasubramanian Syncfusion Team July 24, 2019 04:50 PM UTC

Hi Simon, 
 
Thanks for your update. 
 
The purpose of using split function is to get the value of the Id field of the blocked events, while click on that events. Based on the Id field we have processed to get the particular blocked event from the event collections. 
 
In our previous sample, the custom dialog renders properly at our end. Please share your code example else try to reproduce the error in our previous sample and revert to proceed further. 
 
Regards, 
Hareesh 


Loader.
Live Chat Icon For mobile
Up arrow icon