First Looks

List & Label 11: Generate Rich Reports in .NET

List & Label from combit is a report generator, viewer, and designer package targeting a range of development platforms and data sources. New features include flexible data integration, electronic form output, and dozens of built-in functions.

List & Label version 11 is a versatile report generator that continues to outgrow its name by adding features and capabilities that go well beyond creating lists and labels. Right from installation, you see the product's scope; developer samples for the .NET platforms (VB, C#, Delphi), through VB Classic and C++, and on to Access, Excel, Clarion, PowerBuilder, and Cobol. The redistributable viewer component supports 18 languages and counting—including Japanese and Russian. This review focuses on the .NET environment in English (see Figure 1).

p>List & Label's updated databinding follows .NET closely with support for major ADO.NET objects like DataSets and DataViewManager as well as IListSource, IList, and IEnumerable interfaces. You can create hierarchical reports with master/detail data by using relations in multiple tables of a DataSet object.

Once you hook the designer up to the data, putting fields into a report is a breeze. For example, I started by dragging a Table object from the Objects toolbar. To select the columns, go to the Fields node in the Variables pane and drop fields on the grid. Some designer usage isn't intuitive; I couldn't grab the headers to rearrange the columns as I'd do in SQL Server or Access designers. Fortunately, I guessed that the Contents item on the context menu might help. Sure enough, its editor provided tools to move, format, filter, and calculate columns and values.

The number of functions for building expressions is almost overwhelming. You can convert from one currency to another, choose from over 40 date formats, perform Boolean operations, and set dozens of conditions. If you want to create the logic programmatically instead of in the designer, List & Label exposes its capability through an API.

As for visuals, you can include a wide range of rich text and graphical content in a report. Chart options include the usual formats such as pie, cylinder, bar, ribbon, and markers. You can embed a Web page by providing the URL. There are nearly 40 varieties of barcodes including Japanese postal codes. I had to laugh when the barcode syntax verification offered the super-polite warning, "You probably realize that your expression is incorrect. Are you sure that you want to leave it that way?"

Of course, there's not much point creating reports if nobody can see them. List & Label includes a royalty-free redistributable that even lets recipients design their own reports. There are dozens of print options, and you can send canned form output as fax, email, and HTTPPost.

The documentation includes a 320-page Programmer's Reference and context-sensitive online help for the design interface. Unfortunately, combit's help lacks a raw beginner's tutorial that walks through connecting data and getting the designer to appear. Finally, a complete product edit by a technology-savvy native English-speaker would fix some of the awkward translations in an otherwise fine product.

List & Label 11
combit GmbH
Web:
en.combit.net
Phone: +49 (0) 7531 90 60 10
Price: $839 (Professional)
Quick Facts: A report generator, viewer, and designer package targeting a wide range of development platforms and data sources.
Pros: Flexible data integration; dozens of built-in functions; electronic form output to fax, email and web; royalty-free viewer.
Cons: No raw beginner starter tutorial; awkward translations in error messages and text.

About the Author
Ken Cox is a Canadian author, programming writer, and .NET developer. Reach Ken at [email protected].


Give Users AutoComplete in WinForms Apps
by Don Kiely

Oof the nicest user features of Internet Explorer and other browsers is the autocomplete feature. Whenever a user goes to a text box and starts typing, the browser pops up a list of items previously entered, saving the user from typing the whole string over again. LaMarvin's Dynamic Autocomplete Tool brings this feature to .NET 1.x apps and enhances the feature in .NET 2.0 (see Figure 1).

The product includes a single control, FormManager, implemented as an extender provider. Simply add the control to a form and it appears in the same tray with other controls that don't have a user interface at run time. FormManager supports several built-in WinForms controls: TextBox, ComboBox, the label-editing text box in a TreeView and ListView, the DataGrid text box column, and their descendants.

When added to a form, the FormManager control adds four properties to each supported control: Enabled on FormManager, AutoCompleteCustomSource, AutoCompleteMode, and AutoCompleteSource. Setting the Enabled property to true and leaving the others to the default settings tells each control to remember what the user has previously typed into the control in a drop down list that grows shorter as the user types more characters.

But remembering only the strings the user previously entered in the control, which are saved in the CurrentUser hive of the registry, is only one option. You can also use the AutoCompleteStringSource property and read the strings in from a file, a list of most recently used files, and various objects that support IList or IListSource.

The control has a nice, unobtrusive user interface. I particularly like the handle in the lower right corner of the drop down list that lets the user resize the list. The control uses the autocomplete interface in shell32.dll, so it is lightweight and acts like other autocomplete features in Windows.

The company's Web site has good descriptions of the control and a few interactive tutorials. The online help is rather terse, functioning mostly as a raw technical reference. I was able to muddle through and figure out how to make things work—FormManager's interface is fairly simple—but I still don't have a good handle on how to use the control with a TreeView. Several sample apps are included, but only focus on its use with text boxes and don't show off enough of the product's features.

I found that the product works fine with .NET 2.0, enhancing more controls than the built-in autocomplete feature and with way more options for the source of the strings in the list. Although it really needs some better documentation, I like this product a lot. At the price, it's a great way to add autocomplete to an app. It's inexpensive, focused, and works well.

Dynamic Autocomplete Tool 1.1
LaMarvin
Web:
www.lamarvin.com
Phone: +421 2 6573 0142
Price: $49.95
Quick Facts: Add autocompletion to any WinForms text box control and its derivatives.
Pros: Well-designed interface, simple programming interface, lots of options for customizing list of strings.
Cons: Terse documentation that doesn't integrate with VS 2005 help.

About the Author

Ken Cox is a Canadian .NET programming writer and the author of "ASP.NET 3.5 for Dummies" (Wiley).

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube