Starting with 4D v17, the content of a multilevel collection can easily be displayed in different list boxes. Meaning that you can bind several list boxes to display nested details … without a single line of code! This can be achieved by simply using an object or a collection as the data source for another list box!
With the new list box collection type, the “Current item” and “Selected items” properties have been added. Keep in mind that the “Current item” property allows you to get an object, while the “Selected item” property returns a collection.
4D v17 introduces a new concept: ORDA. If you’re not familiar with ORDA yet, we’ve created a series of blog posts to explain how to use and take advantage of ORDA. When working with ORDA, you’re going to use entity selections, which are basically objects containing references to entities belonging to the same dataclass (i.e. table). One of the main benefits of ORDA, is the very simple and powerful ability of binding with forms.
In this blog post, you’ll learn how to display an entity selection in a list box. In fact, it’s very simple.
Recently, 4D introduced of a new type of variable: collections, as well as a large set of methods to manipulate them. With 4D v17, the possibilities of collections is becoming larger by being able to easily display the content of a collection. How? List boxes of collection type!
Help tips or hints are very useful, as they simplify the user interface and help users understand objects that sometimes aren’t self-evident. 4D supports help tips in most areas and inputs when hovering the pointer over them, but that was not the case with a list box object.
With 4D v16 R5 we have added the possibility to display a help tip on a list box cell thanks to the enrichment of two commands.
Starting with 4D v16, you can set a different row height for each row in your list box. So with a few lines of code, you have a list box with rows that conform to the content. With this 4D v16 feature, we gave full control to the developer to precisely define the height for every single row of the list box.
With 4D v16 R5, we’ve decided to go further, and provide you with a fully automatic mode. It’s now possible to display lists in a gorgeous interface without any programming. You only need to set a few properties in the list box, and 4D does the rest for you. It’s magical, fluid, and again … not a single line of code!
Want to do generic programming using listboxes? So this feature is for you!
With 4D v16 R2, 20+ new listbox properties can be dynamically manipulated by code so 4D Developers now have the full control over the listbox form object! Among a long list: multi-style, wordwrap, single-click edit, truncation mode, column min & max width and much more. The properties apply to the entire list box, its columns, or both.
No more property available only in Design Mode through the Property List: every single property can now be set and get using 2 commands: LISTBOX SET PROPERTY and LISTBOX Get property.
A new step is reached to provide our developers with a fully customizable listbox object, entirely adaptable to user need. A new option is available in the listboxes that will allow to improve final interfaces: this option is called “Hide selection highlight”.
With just one click this option can be activated. Once activated, the system highlight will be completely invisible.
Displaying a list where the line height would exactly fit the content is a very common need. 4D View Pro is including a new feature so that you can now control the height of each row independently in a listbox to make it fit to its content. To know more about 4D View Pro, check out this blog post.
There are actually now two ways to define the row height in a listbox:
- using new dedicated commands
- using a new control array
4D v16 includes a new feature providing your end-user great freedom and flexibility at the interface level when using list boxes. The constraints defined for each column are now fully applied and respected when the list box they belong to is resized.
The event On Column Resize is now triggered “live” during the resizing of the list boxes as long as the user modifies the column widths (previously, it was generated only once, at the end of the resizing).
Thanks to this feature, 4D programmers will have the opportunity to create live and responsive interfaces based on the actual width of columns!
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!