The format of a cell, textbox, can only be set using the predefined options for a number or date time. I want to be able to set the formatting of a textbox in an expression. i.e. `=Fields.Formatting`, which would equate to`{0:##,#0.00 "kW"}`. This is because the cell could be any type of unit, i.e. "kW", "Amps", "kWh"
Using a format would allow the cell content to still be output as a number and when exporting to Excel, the displayed value would be in a user-recognised format but then would allow them to click on the cell and view the full, unrounded, number.
The above functionality is available in SSRS reporting using the formula `=IIf(Globals!RenderFormat.Name = "CSV", "0.00","#,0.00 '" & MAX(Fields!ReadingTypeUnit.Value) & "'")`, which allows for exporting to CSV to round the number.
I have a table with grouping and GroupPageBreak set to After for the group.
In the detail cell of the table, I have a Panel with a Crosstab in it. The Crosstab has row groups, however, their properties are the default, hence, they don't force any Page Breaks.
When the report is previewed or exported to PDF, each table group is on its own page as expected.
I have set SplitWorksheetOnPageBreak to True for Excel rendering, so that each soft page, i.e. Crosstab in the table group is in a new worksheet.
This works fine, except that the first table group is split into two worksheets.
Currently, I can send only String content when making a POST request with the WebServiceDataSource component.
My Web API requires me to the content as Form URL Encoded and I cannot do that with the WebServiceDataSource component, and have to use the ObjectDataSource component to manually request the data correctly.
This behavior is observed only on Azure environment and it is working as expected on local machine.
It seems the Character ID (CID) is mapped to a wrong position visible in the inserted text and in the CMAP table and this leads to an incorrect glyph loading.
In .NET Core the localization routines have changed and the approach to localize an application provided in the documentation doesn't work.
When adding the localized .resx files as described in the documentation - with BuildAction set to None - the resource strings cannot be obtained and even the default string values are lost. This effect can be mitigated with changing the BuildAction to EmbeddedResource.
Currently, the PDF rendering extension supports three versions of the standard – PDF/A-1b (2005), PDF/A-2b (2011), PDF/A-3b (2013).
I am generating invoice that need to be compliant with the Factur-X standard (similar to ZUGFeRD in Germany)
It is a PDF/A-3u compliant file where the human visible PDF is still there as a main document (like before), but where there is an XML File attached/included, which is standardized.If I use an HTML5-based Report Viewer with the default CONTINUOUS_SCROLL page mode and I start scrolling to the next page, the Get Document Page request is made multiple times for the same page.
If I move to the next page via the toolbar buttons or if I use the SINGLE_PAGE page mode, then problem is not reproduced.
As a user, I would like to be able to define guidelines for my report using the rulers surrounding the design window. The guidelines will make it a lot easier to line things up on the report.
When I open a tab that includes the Angular report viewer and close it immediately after, before the viewer can be properly initialized, the following error will be thrown:
core.js:7744 ERROR Error: Uncaught (in promise): TypeError: perspectiveManager.dispose is not a function
TypeError: perspectiveManager.dispose is not a function
at Object.dispose (telerikReportViewer.js:8447:30)
at TelerikReportViewerComponent.ngOnDestroy (telerik-report-viewer.component.js:61:27)
at executeOnDestroys (core.js:6118:1)
at cleanUpView (core.js:6021:1)
at destroyViewTree (core.js:5847:1)
at destroyLView (core.js:5999:1)
at RootViewRef.destroy (core.js:22750:1)
at ComponentRef$1.destroy (core.js:25284:1)
at RouterOutlet.deactivate (router.js:5577:1)
at ActivateRoutes.deactivateRouteAndOutlet (router.js:2101:1)
at resolvePromise (zone.js:1211:1)
at resolvePromise (zone.js:1165:1)
at zone.js:1278:1
at _ZoneDelegate.invokeTask (zone.js:406:1)
at Object.onInvokeTask (core.js:28767:1)
at _ZoneDelegate.invokeTask (zone.js:405:1)
at Zone.runTask (zone.js:178:1)
at drainMicroTaskQueue (zone.js:585:1)
at ZoneTask.invokeTask [as invoke] (zone.js:491:1)
at invokeTask (zone.js:1661:1)
We have the requirement to use a GS1-128 Barcode and have to encode dynamically long identifiers in it.
We found ways to add a FNC1 sign using C# or VB.NET but we are looking for a solution that uses only the Standalone Report Designer.
When rendering a Report in PDF with Skia Sharp, the Arial Bold Italic font is rendered as Normal. Arial Bold and Arial Italic fonts are rendered correctly.
When rendering with GDI+ all fonts are displayed correctly.
The following exception is thrown when setting up the .NET 6, .NET 7, and .NET 8 demos with version 17.2.23.1114 to utilize Reporting REST Service Redis Storage. The storage is configured to use the StackExchange.Redis version 2.0.601 with Telerik.Reporting.Cache.StackExchangeRedis.2:
Error registering the viewer with the service. An error has occurred. Method not found: 'Boolean StackExchange.Redis.IDatabase.StringSet(StackExchange.Redis.RedisKey, StackExchange.Redis.RedisValue, System.Nullable`1<System.TimeSpan>, Boolean, StackExchange.Redis.When, StackExchange.Redis.CommandFlags)'.
In the previous Reporting versions, 17.1.23.718 and 17.0.23.118 the Redis storage with the same setup works as expected.
Hi,
We have today updated our docker reporting container to improve security, and at the same time upgraded to ,NET 8 from .NET 7 (Which worked fine). The error we're getting from Kubernetes is as shown below.....
at Telerik.Reporting.Processing.ReportProcessor.RenderReportSafe(Func`2 renderCallback, String format, IRenderingContext renderingContext)
at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo, CancellationToken cancellationToken)
at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo)
at ReportService.UI.Controllers.API.ReportExportController.GenerateReportPDFBase64(ReportRequestDTO reportRequest) in /src/ReportService.UI/Controllers/API/ReportExportController.cs:line 35
at lambda_method492(Closure, Object, Object[])
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Builder.Extensions.UsePathBaseMiddleware.InvokeCore(HttpContext context, PathString matchedPath, PathString remainingPath)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.HandleException(HttpContext context, ExceptionDispatchInfo edi)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
[18:05:37 INF] HTTP GET /ready responded 200 in 0.1777 ms
[18:05:47 INF] HTTP GET /ready responded 200 in 0.1380 ms
[18:05:57 INF] HTTP GET /ready responded 200 in 0.1588 ms
Logs from 12/29/2023, 5:54:22 PM
Our dockerfile is as shown below....
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80
ENV ASPNETCORE_HTTP_PORTS=80
# Creates a non-root user with an explicit UID and adds permission to access the /app folder
# For more info, please refer to https://aka.ms/vscode-docker-dotnet-configure-containers
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["AppointmentService.Api/NuGet.config", "./"]
COPY ["AppointmentService.Api/AppointmentService.Api.csproj", "AppointmentService.Api/"]
COPY ["AppointmentService.Domain/AppointmentService.Domain.csproj", "AppointmentService.Domain/"]
COPY ["AppointmentService.Infrastructure/AppointmentService.Infrastructure.csproj", "AppointmentService.Infrastructure/"]
COPY ["AppointmentService.Data/AppointmentService.Data.csproj", "AppointmentService.Data/"]
# Set the PAT for the IQHT NuGet feed
ARG IQHTNugetPAT=localhost
RUN sed -i "s|</configuration>|<packageSourceCredentials><iQHealthTech><add key=\"Username\" value=\"IQHTNuget\" /><add key=\"ClearTextPassword\" value=\"${IQHTNugetPAT}\" /></iQHealthTech></packageSourceCredentials></configuration>|g" ./NuGet.config
RUN dotnet restore "AppointmentService.Api/AppointmentService.Api.csproj"
COPY . .
WORKDIR "/src/AppointmentService.Api"
RUN dotnet build "AppointmentService.Api.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "AppointmentService.Api.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "AppointmentService.Api.dll"]
Our Kubernetes deployment manifest is as below...
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: appointmentservice
name: appointmentservice
spec:
replicas: 1
selector:
matchLabels:
service: appointmentservice
strategy: {}
template:
metadata:
labels:
service: appointmentservice
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "iqht-dev-appointmentservice"
dapr.io/app-port: "80"
spec:
containers:
- image: acriqemodevuks01.azurecr.io/appointmentservice:v$(Build.BuildNumber)
securityContext:
runAsUser: 5678
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
imagePullPolicy: IfNotPresent
name: appointmentservice
startupProbe:
httpGet:
path: /health/startup
port: 80
failureThreshold: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 80
successThreshold: 3
ports:
- containerPort: 80
env:
- name: "ASPNETCORE_ENVIRONMENT"
value: "iqemov2-development"
volumeMounts:
- name: secrets
mountPath: /app/secrets
readOnly: true
resources:
limits:
cpu: 75m
memory: 100Mi
requests:
cpu: 50m
memory: 50Mi
restartPolicy: Always
volumes:
- name: secrets
secret:
secretName: secret-appsettings
status: {}
...
apiVersion: v1
kind: Service
metadata:
labels:
service: appointmentservice
name: appointmentservice
namespace: iqemov2-development
spec:
type: ClusterIP
ports:
- port: 80
protocol: TCP
selector:
service: appointmentservice
status:
loadBalancer: {}
I wonder whether you are able to provide us with some guidance on how we can resolve this issue so that we can deploy it to the customer.
Thanks in advance for any help you can provide to help us resolve this issue.
Regards,
Damian
When an item has borders applied and the report is exported to PDF, the border lines "stick out" at the joints. The image below illustrates this.
Some additional information about the issue:
To allow localization for the WebReportViewer in Version 17.1.23.718 and before, it was enough to provide a customized Version of "telerikReportViewer.stringResources.js", which extended the property "window.telerikReportViewer.sr".
This worked for both, the WebReportViewer and the Preview of the WebReportDesigner. With version R3 2023 SP1 (17.2.23.1114), this approach does not work anymore.