New DataProvider for Redis

Redis is an in-memory key-value database, so a typical NoSQL database. Since its initial release in 2009, it has become quite popular and now is, according to db-engines.com by far the most popular key-value database out there. With the new RedisDataProvider you can now use your Redis database within List & Label or Report Server.

Building a Better Databinding Ecosystem for Delphi

Data provider for Delphi

The IDataProvider interface for .NET has enabled many features that are not available for all of the other platforms so far. Most importantly, it brings multiple report containers and nested tables. For C++, we've included a sample in LL21. This is sadly missing in Delphi. In addition, the current Delphi data-binding engine still works against the BDE, a technology that has been deprecated quite a while ago by Embarcadero.

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.

Great new Features for .NET Developers

Support-for-1-1-Relations-2.png

The improvement of our support for .NET has been a major focus in our feature planning process since the initial .NET beta release in early 2001. As more and more IDE vendors adopt CLR support for their languages and join the .NET community, .NET has become ever more important. Thus, version 20 will feature a wide range of new .NET features that make List & Label even more versatile when using it with CLR languages.

Supporting Multiple Report Containers

Since we introduced the report container in List & Label 11, the one remaining feature request that kept coming in was “could we have multiple report containers, please”. Many cases can be covered by using a multi-columnar layout for the report container as a workaround or combining distances between container elements and changes in alignment to get the visual impression of separated tables. But these workarounds are not very discoverable and they are just that – workarounds.
In version 20 we’ll introduce a brand new databinding mode for the .NET component which will replace the old one seamlessly. You won’t need to apply any code changes to profit from this new mode. However, under the hood things will be working quite different then.

Filtering at Database Level

edit filter

Using report parameters has become very popular since we've introduced them in version 19. A typical use case that will become even more seminal with version 20 of our reporting tool is using parameters to filter data (see last feature focus). This is something we've usually put on the "don't" list as databases can filter data much faster than we can. In the past, all records had to be passed to the reporting engine which then decided if a record should be used or not. A vast overhead for a task databases are usually optimized for. In version 20, we'll be introducing a new feature that allows List & Label filter expressions to be translated to native database filters, therefore hugely increasing performance (in principle, depending on the data this is "infinitely" faster).