Introducing C++ Support for Multiple Report Containers

During our Roadshow this fall, the question I was asked the most was "why do you support certain features only for .NET". Most notably, multiple report containers (since LL20) and nested tables (since LL21) were only available for .NET databinding. The reason for this is the necessity to support a special and – until now – undocumented COM interface for passing the data to List & Label. We decided to leave this interface undocumented in version 20 in order to be free to apply changes without breaking customer code. We had to make sure the interface was ripe. Now we are and here we go.

Further Finetuning in the Designer

As with every release, we've added a lot of finetuning to the Designer and its objects. We haven't been able to cover each of the new features in the past LL21 blogpost feature marathon – there are just too many gems to uncover. So here are some of these new Designer features you don't want to miss that make working with LL smoother than ever before.

Enhanced PDF Export

png in pdf export before result
The PDF export in List & Label 21 supports Type3 fonts as embedding option. Unicode and symbol characters are stored as Glyphs in this embedding mode. This way, these fonts are supported optimally – you no longer need to download font packages for your favorite PDF viewer.

Scripting Support in Functions

List & Label has a very powerful formula language. Most manipulations one could think of are possible out of the box or can be realized by using a user defined designer function. However, the latter requires you as a developer to think of the need before deploying your application. In LL21, we'll introduce a new feature that allows to use C# or scripting host languages like VBScript directly in the function wizard.

New and Overhauled Data Providers

The ObjectDataProvider is one of the key providers we ship with LL. It binds to generic lists just as well as to EntityFramework or other Object Relational Mapper data. It is also the final fallback for all datasources that cannot be handled by one of the other providers. In LL21, the provider got a couple of new features for the .NET 4.0 assembly.

New Web Designer

web report designer loading
Until version 21, we used browser specific plug-ins or ActiveX controls in order to display the Designer right in the browser. However, browser vendors are more and more restrictive and begin to ban plugins from their browsers altogether. Thus, it was time for a new technology.

Support for Nested Tables

example for nested tables
One of the few requests that kept coming in was "Can we have the detail data in a column of the master table". While there are a couple of workarounds in version 20 that do similar things, the actual request could not be fulfilled this way. Plus, the workarounds were not as discoverable as we would have loved them to be as they included negative indents for line definitions and educated guesses on the number of detail records that are likely to be printed.This is going to change in version 21 – List & Label is going to support a new field type "table" which enables you to nest tables.