Telerik Forums
Reporting Forum
1 answer
266 views

I've used jsignature (https://willowsystems.github.io/jSignature/) in my ASP.Net Core app to capture a signature made in the app.

It is stored in the SQL database in a varchar(2000) field.  I can display it back in the app afterwards.

How do I get it to display in the Report PDF.  If I include the field (from the datasource), it shows as follows when previewed in the standalone report designer (R3 2021)

I've read elsewhere in Teleirk forums that it can be bound to a picture box but I don't see how to bind the picture box to a report field.

I don't need to capture the signature in the report pdf, just include it.

Taras
Top achievements
Rank 3
Iron
Iron
Veteran
 answered on 13 Dec 2021
2 answers
477 views

My report has a header, footer, and 3 group sections. When I choose parameter values that result in data to display the report has everything as it should be. When I pick parameter values that result in no data rows returned to the report it shows nothing whatsoever; no headers/trailers/labels of any kind, even with SkipBlankPages set to false. 

For what it's worth the debug window is displaying an error message both when the report is successful with data and when it is not. Maybe that error is affecting the report's behavior only when it has no data to display? Here's the text of the debug messages. Is there anything else I can provide that would be useful for this issue?

Telerik Reporting Assembly Information
======================================
Name: Telerik.Reporting, Version=15.2.21.1125, Culture=neutral, PublicKeyToken=a9d7983dfcc261be; Location: C:\inetpub\wwwroot\TimeEntry\bin\Debug\net5.0\Telerik.Reporting.dll; TargetFramework: .NETStandard,Version=v2.0
Error: Could not deserialize object of type ReportInstanceKey. Exception: System.Text.Json.JsonException: Cannot resolve type by type discriminator 'Int64'
   at Telerik.Reporting.Cache.DerivedTypesJsonConverter`1.ResolveDerivedType(String typeDiscriminator)
   at Telerik.Reporting.Cache.DerivedTypesJsonConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at Telerik.Reporting.Cache.ObjectJsonConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.DictionaryDefaultConverter`3.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.SmallObjectWithParameterizedConstructorConverter`5.TryRead[TArg](ReadStack& state, Utf8JsonReader& reader, JsonParameterInfo jsonParameterInfo, TArg& arg)
   at System.Text.Json.Serialization.Converters.SmallObjectWithParameterizedConstructorConverter`5.ReadAndCacheConstructorArgument(ReadStack& state, Utf8JsonReader& reader, JsonParameterInfo jsonParameterInfo)
   at System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](Utf8JsonReader& reader, Type returnType, JsonSerializerOptions options)
   at System.Text.Json.JsonSerializer.Deserialize[TValue](ReadOnlySpan`1 utf8Json, JsonSerializerOptions options)
   at Telerik.Reporting.Cache.SerializationUtils.Deserialize[T](Byte[] bytes, JsonSerializerOptions options).
Error: Could not deserialize object of type ReportInstanceKey. Exception: System.Text.Json.JsonException: Cannot resolve type by type discriminator 'Int64'
   at Telerik.Reporting.Cache.DerivedTypesJsonConverter`1.ResolveDerivedType(String typeDiscriminator)
   at Telerik.Reporting.Cache.DerivedTypesJsonConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at Telerik.Reporting.Cache.ObjectJsonConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.DictionaryDefaultConverter`3.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.SmallObjectWithParameterizedConstructorConverter`5.TryRead[TArg](ReadStack& state, Utf8JsonReader& reader, JsonParameterInfo jsonParameterInfo, TArg& arg)
   at System.Text.Json.Serialization.Converters.SmallObjectWithParameterizedConstructorConverter`5.ReadAndCacheConstructorArgument(ReadStack& state, Utf8JsonReader& reader, JsonParameterInfo jsonParameterInfo)
   at System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](Utf8JsonReader& reader, Type returnType, JsonSerializerOptions options)
   at System.Text.Json.JsonSerializer.Deserialize[TValue](ReadOnlySpan`1 utf8Json, JsonSerializerOptions options)
   at Telerik.Reporting.Cache.SerializationUtils.Deserialize[T](Byte[] bytes, JsonSerializerOptions options).
Error: Could not deserialize object of type ReportInstanceKey. Exception: System.Text.Json.JsonException: Cannot resolve type by type discriminator 'Int64'
   at Telerik.Reporting.Cache.DerivedTypesJsonConverter`1.ResolveDerivedType(String typeDiscriminator)
   at Telerik.Reporting.Cache.DerivedTypesJsonConverter`1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at Telerik.Reporting.Cache.ObjectJsonConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.DictionaryDefaultConverter`3.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.SmallObjectWithParameterizedConstructorConverter`5.TryRead[TArg](ReadStack& state, Utf8JsonReader& reader, JsonParameterInfo jsonParameterInfo, TArg& arg)
   at System.Text.Json.Serialization.Converters.SmallObjectWithParameterizedConstructorConverter`5.ReadAndCacheConstructorArgument(ReadStack& state, Utf8JsonReader& reader, JsonParameterInfo jsonParameterInfo)
   at System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](Utf8JsonReader& reader, Type returnType, JsonSerializerOptions options)
   at System.Text.Json.JsonSerializer.Deserialize[TValue](ReadOnlySpan`1 utf8Json, JsonSerializerOptions options)
   at Telerik.Reporting.Cache.SerializationUtils.Deserialize[T](Byte[] bytes, JsonSerializerOptions options).
Rendering thread 23 starts work.

*** ReportProcessor.ProcessReport STARTED ***

*** ProcessReport #0 STARTED ***
*** ProcessReport #0 DONE in 00:00:00.7179006 ***

*** ReportProcessor.ProcessReport DONE in 00:00:00.7811229 ***

Runtime OS information: X64, Microsoft Windows 10.0.19042

*** Render Report #0 STARTED ***
ReportName: AllowanceDetail; DocumentName: AllowanceDetailReport; Extension: HTML5Interactive
DeviceInfo Contents
===================
BasePath: "api/reports"
ContentOnly: "True"
CurrentCulture: "en-CA"
CurrentUICulture: "en-US"
DocumentID: "97e11534741f3feed83f99"
enableSearch: "True"
EndPage: "0"
internal_format: "HTML5Interactive"
key: "en-US"
ProcessItemActions: "True"
ResourceFormat: "api/reports/clients/b3e7bedaebd/instances/1b8ae2279a0/documents/97e11534741f3feed83f99/resources/{0}/"
StartPage: "0"
SupportsMargins: "False"
SupportsVerticalTextAlignment: "False"
UseSVG: "True"
Page generated: page1
Page generated: page2
*** Render Report #0 DONE in 00:00:00.1830840 ***

Page generated: page3
Rendering thread 23 finishes work.
Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll
Daniel
Top achievements
Rank 1
Iron
Iron
Iron
 answered on 13 Dec 2021
1 answer
611 views

Hello,

One of our environments that is hosted on a local server is throwing the stack trace below when trying to open up any of our custom reports. We do not have this issue in any of our environments that are hosted on Azure.

The local server has the latest 5.0 version of ASP.NET and the latest 3.1 version of .NET Core installed. Would you have any idea what may be causing this?

exceptionMessage: "Invalid report type"
exceptionType: "System.ArgumentException"
message: "An error has occurred."
stackTrace: " 
at Telerik.Reporting.Processing.TypeReportDocumentResolver.Resolve(IProcessingContext context, TypeReportSource rs)\r\n   
at Telerik.Reporting.Processing.ReportDocumentResolver`1.Telerik.Reporting.Processing.IReportDocumentResolver.Resolve(IProcessingContext context, ReportSource rs)\r\n   
at Telerik.Reporting.Processing.ReportDocumentResolver.Bind[T](IProcessingContext context, ReportSource source, Func`2 func)\r\n   
at Telerik.Reporting.Processing.ResolvedReportDocument.ResolveReportsRecursively(ReportSource rs, IProcessingContext context, IDictionary`2 parentRsParameters, Boolean parentShouldDispose, List`1 result, IReportDocument& definition, ResolvedReport& tocReport, ReportBookTocPosition& tocReportPosition)\r\n   
at Telerik.Reporting.Processing.ResolvedReportDocument.Create(ReportSource rs, IProcessingContext context)\r\n   
at Telerik.Reporting.Services.Engine.ReportEngine.GetParameters(String clientID, String report, Dictionary`2 parameterValues)\r\n   
at Telerik.Reporting.Services.WebApi.ReportsControllerBase.GetParameters(String clientID, ClientReportSource reportSource)\r\n   
at lambda_method(Closure , Object , Object[] )\r\n   
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__3(Object instance, Object[] methodParameters)\r\n   
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()"
Todor
Telerik team
 answered on 13 Dec 2021
0 answers
450 views

This is my host os details


NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"

 

This is my docker file


#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:3.1-bionic AS base
WORKDIR /app

RUN apt-get update \ 
    && apt-get install -y --allow-unauthenticated \ 
        libc6-dev \ 
        libgdiplus \ 
        libx11-dev \ 
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
EXPOSE 80
EXPOSE 443
RUN ln -s /shared_storage /app/shared
ENV ASPNETCORE_URLS=http://+:80



FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build
WORKDIR /app
#COPY ["MyAPI/MyAPI.csproj", "MyAPI/"]
COPY . ./
RUN dotnet restore "MyAPI/MyAPI.csproj"
#RUN dotnet build "MyAPI.csproj" -c Release -o /app/build
#FROM build AS publish
RUN dotnet publish "MyAPI/MyAPI.csproj" -c Release -o out

FROM base AS final
WORKDIR /app  
COPY --from=build /app/out .
ENTRYPOINT ["dotnet", "MyAPI.dll"]

This docker builds my image without any issue but the problem is, when I am trying to access my report, I am getting


Unable to get report parameters.
An error has occurred.
Type: Telerik.Reporting.ReportSerialization.Current.ReportSerializable`1[Telerik.Reporting.Report]

 

 

 

NB: I have also tried with mcr.microsoft.com/dotnet/sdk:3.1.21-bionic 

but this image doesn't exist.

NB: On my development environment, I am using windows 10 and from my localhost I am able to generate the reports without any issue.

Shameem
Top achievements
Rank 1
 updated question on 12 Dec 2021
0 answers
145 views

Hello,

I follow the  Telerik Reporting training course in the Telerik Virtual Classroom conducted by Alex Ziskind, and in the Chapter 3 it requires to install the Telerik.ReportViwer.Blazor.Trial package from Nuget (I am on the  Trial licence). But this package is not listed in the collection of NuGet packages available, when I try to install it in Visual Studio.

Can you please advise, how to get this package?

Thank you.

Yuriy
Top achievements
Rank 1
 asked on 10 Dec 2021
2 answers
694 views
I use the html report viewer with a custom reports controller and works great, I'm using a file cache in the default windows temp location ie. C:\WINDOWS\Temp\Html5App. I have noticed a massive amount of files in this folder (all quite small in size but there are so many that the total size is around 4G). I was wondering what the cleanup process is for this cache? should this be handled automatically or is it my responsibility to do the cleanup?
Al
Top achievements
Rank 1
Iron
Iron
Iron
 answered on 10 Dec 2021
0 answers
178 views

Hello supports,

I want to create subheader that display on every page. I found only settings for header RowHeadersPrintOnEveryPage and ColumnHeadersPrintOnEveryPage. I set these values on true and header is display on every page. Do we have such settings for the subheader or some way to display these subheaders?

Thank you 

 

Pawel
Top achievements
Rank 1
 asked on 10 Dec 2021
1 answer
504 views

I have an ASP.Net Core application (MVVC) which will run on Azure.

I need to create a PDF report which mimics the add/edit (View) page.  Only one report would be created at a time and it is anticipated that this will be a low volume requirement.

Can anyone point me to any demos/samples that I could follow to create the report?

 

Thanks

Taras
Top achievements
Rank 3
Iron
Iron
Veteran
 answered on 09 Dec 2021
1 answer
578 views

Using the WPF report viewer, I see this message

 

Where is this 100 seconds defined?  Its not a command timeout as I have those either on the default of 30 or set to 120.  Is there a client side timeout set on the web requests to the server?

Kristina
Telerik team
 answered on 08 Dec 2021
3 answers
1.4K+ views

I have a razor page in my Blazor server app with a report viewer control on it (named AllowanceDetailViewer in the code below). I gather the desired parameter values for this report from the user on page 1 and then launch page 2 and pass it those values. On page 2 I want the report to display using the passed values when the page loads.

The issue is where do I put the call to the Refresh() function on page 2? If I put a call in OnInitializedAsync() I get an error that the AllowanceDetailViewer object is null (so it hasn't loaded yet). If I put a call in OnAfterRenderAsync() I get an internal error from the viewer control. Is there a page event I can use where the report viewer is fully loaded and ready for use?

Note: if I add a button to the page and call the Refresh() function from the button click it works fine. That tells me the code in the Refresh() function is working. What I want is to call that code during the initial page load so it happens automatically without the user needing to click on something first.

        

<ReportViewer @ref="AllowanceDetailViewer" ViewerId="rv1" ServiceUrl="api/reports" ReportSource="@(new ReportSourceOptions { Report = "BlankReport.trdp" })" ScaleMode="@(ScaleMode.Specific)" Scale="1.0" ViewMode="ViewMode.Interactive" ClientEvents= "@(new ClientEventsOptions() {Ready = "ReportReady"})" />

 


        async Task Refresh()
        {
            rso.Report = "AllowanceDetail.trdp";
            await AllowanceDetailViewer.SetReportSourceAsync(rso);

            rso = await AllowanceDetailViewer.GetReportSourceAsync();

	    //code here setting a bunch of parameters, this is just a stub
            rso.Parameters["parameter1"] = "new parameter value";

            await AllowanceDetailViewer.SetReportSourceAsync(rso);
        }


Daniel
Top achievements
Rank 1
Iron
Iron
Iron
 answered on 08 Dec 2021
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?