List boxes: Setup movable rows (or not!) by code
List boxes are powerful form objects. They’re easily created and manipulated, and most importantly, they can handle any kind of data. Additionally, they can be fully set up by programming … everything from inserting or deleting rows and columns, to defining or modifying tons of properties using the 4D language. With 4D v18 R4, another important property has been added to the list. Can you guess which one? Hint: read the title again.
ORDA – Better list box row selecting
A new tool to easily build Entity Selection list boxes
To display a list of records, an entity selection list box is the most suitable when using ORDA technology. 4D v18 R2 simplifies your life with a new tool to easily build entity selection list boxes: List box builder. What is it? It’s a simple dialog where you can set up your list box in a few quick steps (select the table and fields to display, enter column titles, and define the column order).
List box typeahead: Intuitive list searching
by guest author Chris Belanger, a 4D developer from Canada
List box typeahead (a method for progressively searching) is not a native feature of list boxes. However, you can easily implement this feature with some creative coding. In this blog post, I’ll demonstrate the technique along with a database example and an exhaustive document explaining the details step by step.
The final result is summarized in the GIF below, It illustrates two “searches”. One for E-L-L-I-O-T, then another (after a column sort) for H-A-N-N-A-H:
Ease your developer’s life with list boxes
Use ORDA to boost performance in Client/Server mode
Using ORDA to access large tables (especially those with relations) in Client/Server mode has been greatly enhanced. With 4D v17 R5, you’ll see 2-3xs improved LAN performance and up to 30xs faster WAN performance. And best of all – there’s no need to change anything in your code, it’s all automatic. Interesting, isn’t it? Well, let’s delve into the details.
How to display a multilevel collection in different list boxes!
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.
Display an entity selection in a list box
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.
Display a collection in a listbox
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 on list boxes!
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.
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy