Telerik Forums
Reporting Forum
1 answer
1.0K+ views

I'm trying to implement the telerik reporting into a Blazor Hybrid app and it gives "The version of the Report Viewer '17.0.23.118' does not match the version of the Reporting REST Service '16.0.22.225'. Please make sure both are running same version." error. I guess this because of my backend telerik version and report viewer versions are different. I'm using an already build API so, is there any chance to downgrade the report viewer version to 16.0.22.225 ?

Todor
Telerik team
 answered on 31 Jan 2023
1 answer
461 views
I am hosting report service in .Net core web API. This API is behind authorisation.
Todor
Telerik team
 answered on 25 Jan 2023
1 answer
563 views

Hello,

 

I'm using Web Report Designer HTML 5 version 14.1.20.618 and when clicking any option that has to show up a modal (like edit Bindings), it shows the following error in Console:

 

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'getBoundingClientRect')
    at get popUpDefaultPosition [as popUpDefaultPosition] (webReportDesigner:formatted:6890:74)
    at o.openPopUp (webReportDesigner:formatted:6975:28)
    at o.<anonymous> (webReportDesigner:formatted:7103:22)
    at Generator.next (<anonymous>)
    at a (webReportDesigner:formatted:6808:25)

 

I followed the setup tutorial and everithing is working fine but this feature.

The line that's causing the error is the first line of the function popUpDefaultPosition() in webReportDesigner.js

 

        get popUpDefaultPosition() {
            const e = this.kendoList.wrapper.find(".k-state-selected")[0].getBoundingClientRect();
            let t = this.popUpDefaultSize.width
              , i = this.popUpDefaultSize.height;
            const n = this.provider.GetService(s.a.WebDesignerEventsElement)
              , a = $(n).find("." + r.a.WebDesignerCanvasClassName).height();
            this.popUp && (t = this.popUp.wrapper.width(),
            i = this.popUp.wrapper.height());
            const o = {
                top: e.top - i / 2,
                left: e.left - t
            };
            if (o.top + i > a) {
                const e = a - (o.top + i);
                o.top = o.top + e
            }
            return o.top < 0 && (o.top = 0),
            o
        }

 

Any help will be appreciated

Dimitar
Telerik team
 answered on 24 Jan 2023
2 answers
280 views

Hi,

We want to upgrade from blazor reportviewer to Native Blazor Reportviewer, and so far the upgrade has ran smoothly.

However, we are still challenged on how to hide the document map that is toggled on automatically by default. 

First, we tried to hide the document with the following code:

<ReportViewer @ref=... 
            ServiceType=...
            ServiceUrl=...
            ReportSource=...
            DocumentMapVisible="false" --> Should this not hide document map when opening report?
            ParametersAreaVisible=...
            ViewMode=...
            ScaleMode=...          
            />

Unfortunately this did not work, but maybe there is another simple way of hiding the document map? 

Additionally, we have looked into another approach, where we have added a JS function to programmatically hide the button by clicking on the document map button on the reportviewer toolbar:

function reportViewerMapClick() {
    $(".k-i-dictionary-add").click();
}

We have tested the JS function above on a button, where it works:

<button OnClick="reportViewerMapClick()" type="button"> Hide Document Map </button>

But for this to truly work, we need to use this JS function on an event of some sort.

My question is therefore: Are there any simple and easy way of hiding the document map, when opening a report. And if not, are there any events available for when a report has finished loaded? 

Dimitar
Telerik team
 answered on 23 Jan 2023
1 answer
712 views

I'm investigating the viability of embedding reports using the HTML5/Angular report viewers and using Report Server to manage and render the reports.

The reports will contain confidential information, so we need to ensure that report rendering/retrieval requests are secure.

Using the guest account or putting report server credentials in plain text in the client-side Javascript is not an option.

Ideally, we would like to send the report parameters to the report server in an encrypted manner (Using only SSL is susceptible to man-in-the-middle attacks).

What are our options for using custom authentication tokens with Report Server or putting a reverse proxy in front of Report Server to secure the embedding requests?

Any help will be greatly appreciated.

 

1 answer
220 views

We recently upgraded to standalone version 8.1.22.622. 

Using the Edge browser, we can choose one of 7 stored procedures. 

Using Internet Explorer, we cannot see or select any of these 7.  In fact, it looks like well over half of the stored procedures are not selectable.

Why is the difference between the two browsers?

We prefer using IE because we don't have to download the designer link.  I myself have not found an add-in that works correctly.

According to this post https://www.telerik.com/forums/sql-stored-procedure-not-recognized-as-datasource there is some issue with temp tables in stored procedures.  But that post is from 2014. 

If I open the older version of standalone in either Edge or Internet Explore then all stored procedures are selectable.

Todor
Telerik team
 answered on 20 Jan 2023
1 answer
188 views

So, I have a report that I can't seem to filter. I want to filter the report based on the SalesCode.

I absolutely know that SalesCode "LB040" exists, but my report is blank when I run it. If I delete the filter, the report shows all the SalesCodes.

Am I formatting it wrong? Is it in the wrong group? I've tried filtering the StopGroup, but that didn't help.

Thanks for the help!!!

 

 

 

Momchil
Telerik team
 answered on 18 Jan 2023
1 answer
191 views

Good Afternoon Telerik,

 

Currently, I have 1 report where I am searching for all the machines in the database using a parameter querying Machine OS(with values in it like Android, IPhone, Windows 10, Windows 8, etc..). It is located in a table called Assets. Here is a sample query of what I am querying. When I run the table with the only sql datasource it returns my selection on the preview data. However, when I run it on the Telerik server the parameter field on the right hand side is completely blank with no values.

SELECT

at.machine name, at.machineos

FROM assets at

WHERE at.machineos IN (:MachineOS)

 

However, when I add a new SQLDataSource with the same information above and attach the datasource under the parameter to that. It displays the values and correctly queries the data. How can I get it to retrieve the values of the first datasource without making another datasource with the same exact query?

 

(I should also mention, the database is running on a oracle server)

1 answer
513 views

Hi all

this is my first time use telerik reporting with blazor

I have an test App

With Blazor Server App and BlazorWebAssembly as Client 

i add



<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-theme-default@latest/dist/all.css" />

 <script src="_content/Telerik.ReportViewer.Blazor/interop.js" defer></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
   
    <script src="/api/reports/resources/js/telerikReportViewer"></script>

in wwwroot index in BlazorWebAssembly  

then add a trdp file in BlazorWebAssembly  app with sqldatasource 

then


@page "/"
@using Telerik.ReportViewer.Blazor
<style>
    #rv1 {
        position: relative;
        width: 1200px;
        height: 600px;
    }
</style>
<ReportViewer ViewerId="rv1"
              ServiceUrl="/api/reports"
              ReportSource="@(new ReportSourceOptions()
                              {
                                    Report = "inv1.trdp"
                              })"
              Parameters="@(new ParametersOptions { Editors = new EditorsOptions { MultiSelect = EditorType.ComboBox, SingleSelect = EditorType.ComboBox } })"
              ScaleMode="@(ScaleMode.Specific)"
              Scale="1.0" />

in BlazorWebAssembly   

first do i have any mestak ?

i have some error


Debugging hotkey: Shift+Alt+D (when application has focus)
blazor.webassembly.js:1 blazor Loaded 8.85 MB resourcesThis application was built with linking (tree shaking) disabled. Published applications will be significantly smaller.
blazor.webassembly.js:1 
        
       crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: $(...).telerik_ReportViewer is not a function
      TypeError: $(...).telerik_ReportViewer is not a function
          at Object.createReportViewerWidget (https://localhost:44398/_content/Telerik.ReportViewer.Blazor/interop.js:8:26)
          at https://localhost:44398/_framework/blazor.webassembly.js:1:3942
          at new Promise (<anonymous>)
          at Object.beginInvokeJSFromDotNet (https://localhost:44398/_framework/blazor.webassembly.js:1:3908)
          at Object.w [as invokeJSFromDotNet] (https://localhost:44398/_framework/blazor.webassembly.js:1:64232)
          at _mono_wasm_invoke_js_blazor (https://localhost:44398/_framework/dotnet.5.0.17.js:1:190800)
          at do_icall (wasm://wasm/00aba242:wasm-function[10596]:0x194e4e)
          at do_icall_wrapper (wasm://wasm/00aba242:wasm-function[3305]:0x79df9)
          at interp_exec_method (wasm://wasm/00aba242:wasm-function[2155]:0x44ad3)
          at interp_runtime_invoke (wasm://wasm/00aba242:wasm-function[7862]:0x12efff)
Microsoft.JSInterop.JSException: $(...).telerik_ReportViewer is not a function
TypeError: $(...).telerik_ReportViewer is not a function
    at Object.createReportViewerWidget (https://localhost:44398/_content/Telerik.ReportViewer.Blazor/interop.js:8:26)
    at https://localhost:44398/_framework/blazor.webassembly.js:1:3942
    at new Promise (<anonymous>)
    at Object.beginInvokeJSFromDotNet (https://localhost:44398/_framework/blazor.webassembly.js:1:3908)
    at Object.w [as invokeJSFromDotNet] (https://localhost:44398/_framework/blazor.webassembly.js:1:64232)
    at _mono_wasm_invoke_js_blazor (https://localhost:44398/_framework/dotnet.5.0.17.js:1:190800)
    at do_icall (wasm://wasm/00aba242:wasm-function[10596]:0x194e4e)
    at do_icall_wrapper (wasm://wasm/00aba242:wasm-function[3305]:0x79df9)
    at interp_exec_method (wasm://wasm/00aba242:wasm-function[2155]:0x44ad3)
    at interp_runtime_invoke (wasm://wasm/00aba242:wasm-function[7862]:0x12efff)
   at Microsoft.JSInterop.JSRuntime.<InvokeAsync>d__15`1[[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
d.printErr @ blazor.webassembly.js:1
d.preRun.push.window.Blazor._internal.dotNetCriticalError @ blazor.webassembly.js:1
w @ blazor.webassembly.js:1
_mono_wasm_invoke_js_blazor @ dotnet.5.0.17.js:1
$do_icall @ 00aba242:0x194e4e
$do_icall_wrapper @ 00aba242:0x79df9
$interp_exec_method @ 00aba242:0x44ad3
$interp_runtime_invoke @ 00aba242:0x12efff
$mono_jit_runtime_invoke @ 00aba242:0x118e5f
$do_runtime_invoke @ 00aba242:0x79d42
$mono_runtime_try_invoke @ 00aba242:0x12982
$mono_runtime_invoke @ 00aba242:0x10ec2b
$mono_wasm_invoke_method @ 00aba242:0x108e48
Module._mono_wasm_invoke_method @ dotnet.5.0.17.js:1
call_method @ dotnet.5.0.17.js:1
(anonymous) @ dotnet.5.0.17.js:1
endInvokeJSFromDotNet @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Promise.then (async)
beginInvokeJSFromDotNet @ blazor.webassembly.js:1
w @ blazor.webassembly.js:1
_mono_wasm_invoke_js_blazor @ dotnet.5.0.17.js:1
$do_icall @ 00aba242:0x194e4e
$do_icall_wrapper @ 00aba242:0x79df9
$interp_exec_method @ 00aba242:0x44ad3
$interp_runtime_invoke @ 00aba242:0x12efff
$mono_jit_runtime_invoke @ 00aba242:0x118e5f
$do_runtime_invoke @ 00aba242:0x79d42
$mono_runtime_try_invoke @ 00aba242:0x12982
$mono_runtime_invoke @ 00aba242:0x10ec2b
$mono_wasm_invoke_method @ 00aba242:0x108e48
Module._mono_wasm_invoke_method @ dotnet.5.0.17.js:1
call_method @ dotnet.5.0.17.js:1
set_task_result @ dotnet.5.0.17.js:1
(anonymous) @ dotnet.5.0.17.js:1
Promise.then (async)
js_to_mono_obj @ dotnet.5.0.17.js:1
d.preRun.push.window.Blazor._internal.getSatelliteAssemblies @ blazor.webassembly.js:1
w @ blazor.webassembly.js:1
_mono_wasm_invoke_js_blazor @ dotnet.5.0.17.js:1
$do_icall @ 00aba242:0x194e4e
$do_icall_wrapper @ 00aba242:0x79df9
$interp_exec_method @ 00aba242:0x44ad3
$interp_runtime_invoke @ 00aba242:0x12efff
$mono_jit_runtime_invoke @ 00aba242:0x118e5f
$do_runtime_invoke @ 00aba242:0x79d42
$mono_runtime_invoke_checked @ 00aba242:0xf65d
$mono_runtime_try_invoke_array @ 00aba242:0x10e831
$ves_icall_InternalInvoke @ 00aba242:0xed492
$ves_icall_InternalInvoke_raw @ 00aba242:0xecf57
$do_icall @ 00aba242:0x194ddb
$do_icall_wrapper @ 00aba242:0x79df9
$interp_exec_method @ 00aba242:0x44ad3
$interp_runtime_invoke @ 00aba242:0x12efff
$mono_jit_runtime_invoke @ 00aba242:0x118e5f
$do_runtime_invoke @ 00aba242:0x79d42
$mono_runtime_try_invoke @ 00aba242:0x12982
$mono_runtime_invoke @ 00aba242:0x10ec2b
$mono_wasm_invoke_method @ 00aba242:0x108e48
Module._mono_wasm_invoke_method @ dotnet.5.0.17.js:1
call_method @ dotnet.5.0.17.js:1
(anonymous) @ dotnet.5.0.17.js:1
callEntryPoint @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
a @ blazor.webassembly.js:1
Promise.then (async)
u @ blazor.webassembly.js:1
a @ blazor.webassembly.js:1
Promise.then (async)
u @ blazor.webassembly.js:1
a @ blazor.webassembly.js:1
Promise.then (async)
u @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
r @ blazor.webassembly.js:1
g @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
n @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1

 

regards

arkan
Top achievements
Rank 2
Iron
 answered on 18 Jan 2023
1 answer
332 views

We have an application (Windows Forms), that we have had to set DPI to UNWARE. The reason we have to set DPI to UNWARE, is our application behavior is weird when we set Aware or Aware Per Screen, as controls move, text gets truncated, dropdowns shrink, etc .   With that said, setting DPI to UNWARE, this solves the problem with all the win forms, however, this caused all our reports to have issues. All our reports are being shrunk on the page, with a huge amount of white space to the right and bottom of the page.  This is totally unacceptable to our customers as a lot of our report are designed to work for mailings and/or on pre-printed paper.   Our only solution, at this time, is to have our customers "SAVE AS PDF" and open the PDF and print from there.  Printing to PDF results in the same issue that is explained above.  

Now, we have played around with ways of setting DPI UNWARE and DPI AWARE, but we have been totally unsuccessful in getting our software to work as intended.  We set DPI Aware, reports work fine, but Win Forms are all messed up.  Set DPI Unware, Winforms are fine, but reports are an issue.   

 

Any help would be greatly appreciated.

 

Thank You

Dimitar
Telerik team
 answered on 16 Jan 2023
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?