Hello Telerik Team,
I would like to suggest a feature enhancement for the Web Report Designer that would allow dynamic configuration of design-time parameter values during initialization.
Currently, design-time values for report parameters are embedded within the report definition and can only be set manually using the Web Report Designer interface. While runtime parameter values work perfectly and can be passed dynamically through code, not being able to dynamically set design-time values causes significant limitations—especially during the report design process.
In my application, I load data from a dynamic web service endpoint, and the service domain needs to be set at runtime. While this works fine during preview in my ASP.NET MVC project (where I pass the URL dynamically using report parameters), I run into issues when designing reports:
During design time, the URL has to be manually entered into every Web Service Data Source just to fetch the model fields and avoid errors.
If the domain name changes (e.g., due to staging/production environments), I must manually update the domain in every report and each Web Service Data Source, which is both time-consuming and inefficient.
This becomes even more tedious in large projects with many reports and data sources.
So, my question is: Is it mandatory to pass design-time values (like the service URL) manually just for design-time purposes? If not, it would be incredibly helpful to have a way to supply these values dynamically during the Web Report Designer initialization, perhaps via a configuration option or external context.
Petar from the Telerik team mentioned that this would indeed be a valuable feature and encouraged me to submit this suggestion. You can view our discussion here: 🔗 Dynamic Web Service Domain Configuration in Telerik Report Designer Server
This capability would make designing reports much smoother and far more maintainable, especially for applications that rely on dynamic, environment-specific configurations.
Thank you for considering this request, and I appreciate your continued support and guidance.
Screenshots are also attached for quick reference, though they are already available in the forum link above.
Best regards,
Prabesh
Exporting a report from the Report-Viewer to Word(docx), then opened in Word for Web (browser-version of Word) causes incorrect rendering of the document. Images are replaced with placeholders.
In comparison, exporting the report as PDF, then opening and converting it to Word and uploading it, renders much more correct and with images.
Hi
If I run the angular report viewer within my main page, all is well. However if the report viewer is hosted in a <p-dialog> (or <p-overlaypanel>), the report does not render (even though data is loaded and the report can be exported). To confirm this, I even have the report visible in a <tr-viewer> on the main page behind the dialog and load them at the same time.
If the dialog is not visible when the main page opens, then the report viewer toolbar is in a column on the left, and is not operational. (see attached)
If the dialog is visible when the main page opens, then the toolbar appears at the top and functions normally. (see attached)
<tr-viewer #rptViewerBody
[containerStyle]="viewerContainerStyle"
[serviceUrl]="reportServerUrl"
[viewMode]="'INTERACTIVE'"
[scaleMode]="'SPECIFIC'"
[scale]="1.0">
</tr-viewer>
vs
<p-dialog modal="true"
appendTo="body"
header="Report"
[(visible)]="showReport"
[width]="1500"
[height]="1500">
<tr-viewer #rptViewerDialog
[containerStyle]="viewerContainerStyle"
[serviceUrl]="reportServerUrl"
[viewMode]="'INTERACTIVE'"
[scaleMode]="'SPECIFIC'"
[scale]="1.0">
</tr-viewer>
</p-dialog>
In the code, I tried both of these container styles. The result for the dialog was that relative position rendered the toolbar (top or left), but absolute position rendered nothing at all (height became 0)
this.viewerContainerStyle = {
position: 'absolute',
top: '0px',
left: '0px',
right: '0px',
bottom: '0px',
['font-family']: 'ms sans serif'
};
this.viewerContainerStyle = {
position: 'relative',
width: '1300px',
height: '1300px',
['font-family']: 'ms sans serif'
};
using @progress/telerik-angular-report-viewer": "7.19.718"
Thanks.
Hi,
There is an issue where the search window that opens from the Report Viewer tool bar does not allow for deleting text from the search string input box using backspace.
The keyboard command provider seems to have many other keys covered for the intended behavior, but backspace does not seem to be handled appropriately.
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"]
Using Roboto Medium changes values "FVS!dBTI" should be "EUR Cash" (shift characters by 1) weird !!!!