After paying some attention to the PDF export in version 26, we decided to give some love to the Excel export in version 27, by adding three often requested features.
In List & Label 21 the Designer optionally saves the current project to a backup location. If the Designer is not closed properly (i.e. system crash, unexpected shutdown or even power outage) you can easily restore the last state and don't lose hours but rather minutes of work.
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.
One of the most frequently requested features via our feedback portal and a feature we were thinking of for quite a while. Before, if a project contained syntax errors (e.g. it had typos or you renamed a field in the data source) you got a massive dialog containing the source of the error, however no easy way to fix it from there. Additionally, this dialog popped up for each and every error so most of you will probably just have clicked the "OK for all" button and started to investigate manually. This was a time consuming, tedious task which often ended up in opening and closing the designer until all errors were fixed.
HTML5 is one of our reference formats for web reporting applications. We also use it as the premier format in our combit Report Server. In LL20, we had first introduced this viewer. In LL21, it will get a brand new thumbnail bar, making navigation even easier.
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.
For years, our drag & drop support consisted of "well, you can drag one field into an existing table". If you needed multiple fields – repeat. Creating a table via Drag & Drop? No way. Creating a sub table? Don't even think of it. All this will change thoroughly with LL21.
This is one of the major new features of LL21. Conditional Formatting is needed whenever you want to change properties depending on data, e.g. something like "red font if value is negative" or "highlight the background if value is greater than threshold". This allows to read a report at a glance and quickly get an overview of what areas of your data require a second look.
Aggregation within reports is a hot topic. While it is very convenient to just aggregate what you see it can become very expensive if huge amounts of data are involved. Think of sales statistics for your products – you don't really want to iterate through all order details in order to just get the total sales for your article. This is a task databases are optimized for.
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.
The existing color picker e.g. for the background color property of a field contained a very long list of predefined color values and – at the very bottom – a "Formula…" entry, which was neither very discoverable nor usable. And choosing "Formula…" left it completely to your end users to figure our how to use the RGB, HSL, RainbowColor, HeatmapColor or one of the other color functions. In LL21, we'll introduce a completely new color picker UI.