Telerik Forums
Reporting Forum
1 answer
142 views
We've been using Telerik Reports for years, and have allowed users to set up their own sorting. The below code worked no problem, until we recently upgraded all the way from version Q3 2015 to R1 2023. Now, sorting is never obeyed, despite the parameter on the report getting set - we write out the criteria one the outputted report, and that is correct. We've traced this code through with no errors, and the sortings do seem to be applied to the report object, but they are ignored when the report is built.
 protected override void OnNeedDataSource(object sender, EventArgs e)
        {
            base.OnNeedDataSource(sender, e);

            var report = sender as Telerik.Reporting.Processing.Report;

            //// Report Post Formatting.

            // Apply Sorts.
            if (report.Parameters["Sortings"].Value != null)
            {
                Common.ApplySort(this, report.Parameters["Sortings"].Value.ToString());
            }
}
public static void ApplySort(Report report, string sortingColumns)
        {
            // sorting Columns string format: ColumnName:Asc;ColumnName:Desc
            if (sortingColumns == null)
                return;

            foreach (var item in sortingColumns.Split(','))
            {
                // Get The field value for the column to sort by... IE. SellthroughValuePercent is an iff calculation.
                report.Report.Sortings.Add(new Sorting
                {
                    Expression = string.Format("=Fields.[{0}]", item.Split(':')[0]),
                    Direction = item.Split(':')[1] == "Asc" ? SortDirection.Asc : SortDirection.Desc,
                });
            }
        }
Any ideas to point us in the right direction? It's very frustrating to have bought a new version, but have features that worked before now fail without warning...
Momchil
Telerik team
 answered on 01 Aug 2023
2 answers
124 views
On a button click I want to export the report as a PDF. I need to pass the shipmentId but its not getting passed in. Is my code wrong? My storedProcd is set up as a SQLDatasource in the report. the parameter is set as a string. the code ignored what I am passing in. 
 // Create report source
                    var reportSource = new Telerik.Reporting.UriReportSource
                    {
                        Uri = Server.MapPath("Manifest.trdp") // Replace "PathToYourReport" with the actual path to your report
                    };
                    // add parameters to report source
                    reportSource.Parameters.Add(new Telerik.Reporting.Parameter("@shipmentId", shipmentsId.Value.ToString()));                                       

                    // Create report processor
                    var reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
                    
                     // Render the report to PDF
                     var result = reportProcessor.RenderReport("PDF", reportSource, null);

                    if (result.HasErrors)
                    {                        
                        throw new Exception("There were errors during report processing: " + result.Errors[0].Message.ToString());
                    }

                    // Set the content type to PDF
                    Response.ContentType = "application/pdf";

         
                    // Write the PDF data to the output stream
                    Response.OutputStream.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);

                    // End the response to force it to client
                    Response.End();

Mark
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 31 Jul 2023
1 answer
176 views

I have a table in my report where i have the borders for the row and column headers set to solid 1pt borders

I also have conditional formatting set on the rows so that every other row has a light grey background color for readability

The problem is, that any row/column header that touches one of the detail rows with the conditional formatting loses the border that touches that cell.

I have attached screenshots of the report in preview mode and in design mode

Todor
Telerik team
 answered on 31 Jul 2023
1 answer
396 views

Hello guys,

I want to set up a DateTime property from my DB to use the Bulgarian culture inside a TextBox in the Report Designer. It should use one of the following formats "MMMM yyyy" or "Y" (example: декември 2015).

Using the following code I have found that the Culture does not change even though I have specifically set it to Bulgarian in the code, also in the Report culture and TextBox culture:

Fields.ProductionDate.ToString("Y", CultureInfo.GetCurrentCulture("bg-BG"))

What I have found up until now. is that using the following syntax, with the cultures of the Report and TextBox set. including setting the DateTime formatter for the TextBox to be July 2023 fixes the issue:

=Fields.ProductionDate

However, this does not work for me as the TextBox I am using the property in, includes a lot of text and the only way I have found to write code that way is using Curly Braces which do not seem to apply the selected format.

Result when using =Fields.ProductionDate:

Result when using {Fields.ProductionDate}:

Question 1: Is there a way to change the DateTime Format and Culture using the first approach, if so could you please attach a sample as everything so far that I have tried does not seem to work.

Question 2: Is there a way to go around the curly braces and use the =Fields.ProductionDate with square braces without the need to create a separate TextBox.

Thank you in advance.

Momchil
Telerik team
 answered on 28 Jul 2023
1 answer
153 views

Is it possible to filter by columns in a table from Telerik reporting like a grid view?

Eg. the Image is attached.

 

 

Nikolay
Telerik team
 answered on 28 Jul 2023
0 answers
127 views

I tried to follow the instructions here:

https://docs.telerik.com/reporting/designing-reports/report-designer-tools/web-report-designer/how-to-set-up-in-blazor-application

"Use NuGet package manager to add the Telerik.WebReportDesigner.Services package. This will also resolve other..."

Later on we have:


...
services.TryAddSingleton<IReportServiceConfiguration>(sp => new ReportServiceConfiguration
{
    ReportingEngineConfiguration = sp.GetService<IConfiguration>(),
    HostAppId = "BlazorWebReportDesignerDemo",
    Storage = new FileStorage(),
    ReportSourceResolver = new UriReportSourceResolver(Path.Combine(sp.GetService<IWebHostEnvironment>().WebRootPath, "Reports"))
});

But some of the types are not available. E.G. FileStorage()

Which is a part of 

Assembly Telerik.Reporting, Version=17.1.23.718, Culture=neutral, PublicKeyToken=a9d7983dfcc261be

So the instruction is misleading for beginners :-) 

Which additional pakets are needed?


Btw: A link to a ready made project may helpful.

:-)

Peter
Top achievements
Rank 1
Iron
Iron
 updated question on 26 Jul 2023
1 answer
109 views

Hello,

I have a page where I load the same report, but with different parameter values each time. What happens is that after the first loading, the Report is not considering the new parameters and keeps bringing the report with the first parameter.

I have tried removing and adding the Report DIV programatically to see if it would clear the Report Viewer contents, but after doing that the Report stops loading, although the HTML DIV Structure is the same as the original.

Any ideias?

Regards,

Alexandre

Todor
Telerik team
 answered on 25 Jul 2023
1 answer
135 views

Good Afternoon Telerik,

 

I currently am averaging to DateTime values from two columns Completed Report and Final Report into one column called CompToFinal

 

I am wanting to average Completed Report to Provisional Report columns. and, sometimes there is No Provisional report but it will ALWAYS have a Final date time. so I want to copy the averaged final time to the provisional column if no provisional value exists or is NULL. I have tried the following code but keep getting errors. Is there a better way to do this?

 

=Avg(Fields.PROVISIONALDATETIME.TimeOfDay - Fields.COMPLETIONDATETIME.TimeOfDay) ?? ? Avg(Fields.FINALDATETIME.TimeOfDay - Fields.COMPLETIONDATETIME.TimeOfDay)

 

Thank you!

1 answer
236 views

We are using the built in Reporting Wizard to set up the report to print on specific label stock.  The biggest probelm we are having, is that if the label prints on more lines than the label will accommodate, it is pushing all remaining text down, there for, causing those labels to print misaligned on the remaining labels in that column.  Is there a way to force enything that prints outside the size of the label to just be skipped?  This is causing our customers some major issue where the first Label is an issue and now the entire column is wasted becuase of the first record in the column.

 

 

Momchil
Telerik team
 answered on 20 Jul 2023
1 answer
211 views

Hello,

I dont see any example using report with blazor webasm.  It's possible using report with viewer on blazor page client side and get data to a API (server side).

Cannot see any example in the examples reports folder (C:\Program Files (x86)\Progress\Telerik Reporting R2 2023\Examples\CSharp)

Thanks about any information related to this.

Lance | Senior Manager Technical Support
Telerik team
 answered on 18 Jul 2023
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
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?