Using the following code for updating the ReportSource of the viewer:
ngOnInit() {
this.setParameters();
}
setParameters(): void {
this.reportViewer.setReportSource({
report: 'SampleReport.trdp',
parameters: {}
});
}
comes up with the error
Argument of type '{ report: string; }' is not assignable to parameter of type 'JSON'.
Type '{ report: string; }' is missing the following properties from type 'JSON': parse, stringify, [Symbol.toStringTag]
Currently, the workaround is to cast the reportSource object as follows:
ngAfterViewInit() {After R1 2019 Telerik Web Report Viewers use Kendo splitter for resizing Parameters and Document map areas. At this point, there is no way to change the Parameters Areas position.
The expression parser throws an exception when parsing an expression that calls .ToString() method after closing parenthesis like the one below:
=(Fields.Value1+Fields.Value2).ToString()
If the two operands in parentheses are converted to double, the expression is parsed and evaluated correctly:
=CDbl(Fields.Value1+Fields.Value2).ToString()
In my report, I use font SimSun to display Chinese, when preview it's OK, but after click print, an exception is thrown.
Internal Server Error
Font data for font "SimSun" cannot be obtained. Possible reasons are: The font is not installed in . The font is not found in the directories specified by the "FontLocations" configuration entries. The font is not declared in "" configuration section
In my docker image, run command -list, is there.
C:\Users\Anders> docker exec -it 3485 bash root@3485bbdabbb3:/app# fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book /usr/share/fonts/simsun.ttf: SimSun,宋体:style=Regular /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book
FROM /2.2- AS builder
WORKDIR /app
# caches restore result by copying file separately
COPY * config/
RUN restore
COPY .
RUN publish --output /app/ --configuration Release
RUN -n 's:.*<AssemblyName>\(.*\)</AssemblyName>.*:\1:p' * > __assemblyname
RUN if [ - __assemblyname; then filename=$ *); echo $filename%*} > __assemblyname;
# Stage 2
FROM /2.2--runtime
ENV PORT 80
EXPOSE 80
COPY simsun.ttf /usr/share/fonts/simsun.ttf
RUN apt-get update \
&& apt-get install -y \
libc6-dev \
\
libx11-dev \
\
&& rm -rf /var/lib/apt/lists/*
RUN fc-cache -f -v
WORKDIR /app
COPY --from=builder /app
ENTRYPOINT $cat /app/__assemblyname)In CSharp.ReportExamples.VS2017, I copy all reports into project CSharpAspNetCoreDemo, and make them always copy.
Then I change ReportsController to the Reports directory above.
When Run it in IIS, it's OK, but when check into Docker, there is an exception thrown.
{
"message": "An error has occurred.",
"exceptionMessage": "Type: Telerik.Reporting.XmlSerialization.Current.ReportSerializable`1[Telerik.Reporting.Report]",
"exceptionType": "System.MissingMethodException",
"stackTrace": " at Telerik.Reporting.Xml.ObjectXmlReader.CreateInstance(Type type, String name)\n at Telerik.Reporting.Xml.ObjectXmlReader.ReadObject(Type type)\n at Telerik.Reporting.Xml.ObjectXmlReader.ReadXmlElement(String name)\n at Telerik.Reporting.Xml.XmlSerializer.Deserialize(Stream stream, IResourceHandler resourceHandler)\n at Telerik.Reporting.XmlSerialization.ReportXmlSerializer.Telerik.Reporting.XmlSerialization.IXmlSerializer.Deserialize(Stream stream, IResourceHandler resourceHandler)\n at Telerik.Reporting.ReportPackager.UnpackageDocument(Stream packageStream)\n at Telerik.Reporting.Processing.UriReportDocumentResolver.Resolve(IProcessingContext context, UriReportSource rs)\n at Telerik.Reporting.Processing.ReportDocumentResolver.Bind[T](IProcessingContext context, ReportSource source, Func`2 func)\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)\n at Telerik.Reporting.Processing.ResolvedReportDocument.Create(ReportSource rs, IProcessingContext context)\n at Telerik.Reporting.Services.Engine.ReportEngine.GetParameters(String clientID, String report, Dictionary`2 parameterValues)\n at Telerik.Reporting.Services.AspNetCore.ReportsControllerBase.GetParameters(String clientID, ClientReportSource reportSource)\n at lambda_method(Closure , Object , Object[] )\n at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()\n at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextExceptionFilterAsync()"
}
This is my Dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /
COPY ["AspNetCoreDemo/CSharpAspNetCoreDemo", "AspNetCoreDemo/"]
RUN restore "AspNetCoreDemo/CSharpAspNetCoreDemo"
COPY .
WORKDIR "/src/AspNetCoreDemo"
RUN build "CSharpAspNetCoreDemo" -c Release -o /app
FROM AS publish
RUN publish "CSharpAspNetCoreDemo" -c Release -o /app
FROM base AS final
RUN apt-get update \
&& apt-get install -y --allow-unauthenticated \
libc6-dev \
\
libx11-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=publish /app
ENTRYPOINT ["", "CSharpAspNetCoreDemo"]Hi Team,
As Heat maps are not supported by Telerik reporting, Could you please let me know if you have workaround solution readily as a demo . If not please suggest the which third part libraries to be used in C# solution.
When attempting to export a report in Excel 97-2003 format, an exception is thrown:
"The type initializer for Telerik.Reporting.Excel 97.Workbook threw an exception. Object contains non-primitive or non-blittable data."
As HTML, PDF and OpenXML-based renderings are supported on Linux/macOS machines, please remove the old Excel 97-2003 format.
When trying to set the 'parametersAreaVisible' option in the Angular viewer the application breaks with an error in the browser console:
"Can't bind to 'parametersAreaVisible' since it isn't a known property of 'tr-viewer'."