Miscellaneous Treats in LL24

While I've been blogging about the major and most-UI-visible features during the last few months, of course there are gazillions of minor and less visible changes underneath the hood in LL24. This blog post sums up some more reasons to be cheerful.

Web Assembly now Supports .NET Standard 2.0

The List & Label Assembly has already been ported to .NET Standard but the Web Assembly was still missing. By now both assemblies support: net45, netstandard20. This enables the integration into the latest ASP.NET Core Applications.

Analogously to the C# MVC ASP.NET Web Reporting Sample there now is a ASP.NET Core Sample.

ASP.NET Core provides the following benefits:

Performance Increase

We’ve again been able to speed-up List & Label. Expect a typical performance increase of 20% for your list projects – independently of the data source, IDE or component used. When using ADO.NET and heavily working with 1:1 relations, you might see even bigger improvements. Our sample application’s “Different Charts” report for example just requires 20% of the time it took before to render.
 

New Internationalization Features

In the Designer, there’s a new designer function that can be used to render country flags. The usage is simple, just let an image’s content formula read one of the following

CountryFlag(“NO”)
CountryFlag(“NZ”)
CountryFlag(“IE”)

to get the flag of Norway, Ireland or New Zealand into your report, rendered as SVG and thus scaling just perfect:

We’ve also added funtions that make it easier to convert different locale information. The new LocaleInfo$() function allows to switch your locale information between ISO 3166 ALPHA2, ISO 3166 ALPHA3 and ISO 3166 NUMERIC representations. It also allows to access any further locale information provided by the operation system.
 

Re-Assembling Preview Files

The Preview-API supports a new conversion to Preview Files. While this sounds boring at first, you may also use the Export.PageIndexRange option like so:

This effectively creates a new preview file that just contains the pages between “from” and “to”. Combined with the append function, this gives you completely new options to re-assemble preview files on the fly. This change was triggered by popular request during our 2017 Roadshow – thanks again for the suggestion if you’re reading this. 

PreviewFile pf = new PreviewFile(textBoxSourceFile.Text);
pf.ConvertTo($"{textBoxTargetFile.Text}", $"LL;Export.PageIndexRange={textBoxPageFrom.Text}-{textBoxPageTo.Text}");
pf.Close();

Supporting Tables in Headers

Table-in-Table is now supported in Group Headers and Header Lines. For Group Headers, you can quickly add data from a sub table to the layout. In Header Lines, the feature is restricted to static content.
 

Supporting CSS Animations for XHTML Export

Most objects now have a new HTML animation property. Similarly to the preview animations, this allows to define the behavior of the objects once shown in the browser. Simply choose from one of the nine available animation types, set the delay and duration and enjoy. The Report Server also profits from this new feature.
 

Supporting Different PDF/A Levels

So far only the PDF/A-Mode PDF/A-1a could be actively set for supporting the archiving and long-term preservation of generated PDF documents. We now also add the sub-level PDF/A-1b which is lighter. And for supporting any kind of files embedded into the PDF documents (see also export option ‘PDF.FileAttachments’) the mode PDF/A-3b is now explicitly available.
 

Changed Mousewheel Zoom Behavior

The mousewheel zoom now automatically centers to the cursor position, making it much easier to zoom to a desired detail.
 

Better Keyboard Navigation in Formula Dialog

We overhauled the keyboard navigation for the formula dialog window.
 

Configurable NULL Value Behavior for Charts

You can now select if a NULL value should be treated as 0, ignored or effectively cause a gap e.g. in a line chart.
 

A Cure for Endless Loops

If the unwrappable content of objects exceeds the available space, you can now configure a maximum number of attempts.

Related Posts

Leave a Comment