Evaluating - how can there be no DataGrid

A good grid would let me put ANY control inside a grid cell, even ContainerControls, so that I can have a 2-dimensional grid showing custom graphics, labels, editfields, buttons, checkboxes, popup menus etc - all in a single cell, repeated over the entire grid (or over rows or columns).

This, in fact, is how any modern “view” oriented UI framework works: A grid is just a container for a scrollable set of sub views.

This is currently very diffcult to do “by hand” because ContainerControls can’t become controls arrays (or can they, now?)

Einhugur used to have something close to it, many years ago. Not sure if it’s still available and supported, but in any case, it wasn’t as flexible as it should be.

Besides business charts , scientific apps often need graphs

One big differential of real DBGgrid, is that it is not just a simple viewer of a in memory downloaded array of data (called here recordset). It can iterate with large amounts of live data in a lightweight fashion. As I told before, it needs a more complete and complex set of smarter data objects then the current recordset object. For example, you set the datasource of the grid to a component with properties like “Use Server side, SQL query, Read Committed, row locking, editable, etc” and that links that grid to a 1 million rows, fully navigational, editable, live record set from a data server on the other side of the globe. Then set it’s Active property to true and see that 1 million rows displayed in 4 seconds in a low memory client machine that would have a memory overflow error after 4 minutes downloading that “large recordset” if it were wrongly using a client side cursor for such recordset.

Curious where you have that now, Rick, with any degree of back-end agnosticism. Surely there is a YouTube video of this in action? Preferably not tied to one vendor’s back-end…

Not tied to one vendor… Humm… Hardly but let’s just show the concept working: DataGrid using LINQ

It would make a great open source project. I promise I won’t run with it as a commercial idea this time.

[quote=28041:@Simon Berridge]I have created a small program that accesses a SQLite database and will display the contents of a table within the database.

It uses a subclassed Listbox that is ‘data-aware’. You just need to pass to it a Recordset. It will work out column sizes, alignments and formatting itself (just like Delphi).

Download here:

FYI this took me about one hour.


asking for dblistbox… it was not include in the zip file… or referring to some remote folder.

I don’t know… those are core features, core classes, I don’t like the idea of forking the database handling and having 2 kinds of Database, DatabaseRecord, DabaBaseField, RecordSet, etc, all those kinds of classes, one native and integrated, and another, not supported and not integrated in user space, with different approaches to the same tasks. As I told before, I don’t see this coming anytime soon, and I already gave up. To make it usable, we needed a full set of objects that would make the native framework objects obsolete, it does not make sense for me. I don’t ask those features anymore, I just let some people to know that those things exist for years and other apps does this job much better because Xojo lacks this options natively. I believe that someday they will pay attention to this.

Richard. Try again now.

Also, for RealStudio try this:


where is “dbListBox” ?

Xojo told me:
dbListbox Missing File ‘…\Components\SAB Components\Xojo Extras\dbListbox.xojo_binary_code’ Macintosh HD:Users:simberr:Dropbox:Documents:REALBasic Projects:Components:SAB Components:Xojo Extras:dbListbox.xojo_binary_code

Hmm, I saw that earlier and included the file in the project, it was originally an external class. I will fix it when I get back to my office but, in the meantime, download the RB one as that will load into Xojo. The link is just above your entry.

Hi Simon,

I saw it (the RB project file), download it, saw only one file (I expected an external file) and ask the question without loading / running the project.

Thank you.

Now fixed. Download here:

working great now…

I have to agree with Frank, Rick, and some of the other “wish we had a datagrid” posters here. I’ve used REALBasic/Studio/Xojo since version 1 (1998) to write a wide variety of different apps for my clients (mostly in the print publishing space, but lately web stuff as well) and I would kill for a powerful yet easy-to-code-to grid like ones from Infragistics, Telerik, or any number of other third-party Windows toolkit vendors. Or, for that matter, like some of the up-and-coming HTML5 grids.

In my experience, the Einhuger product, while nice, doesn’t quite have enough features. Several times over the years I’ve started down the road of using it, only to abandon it when it couldn’t do what I needed. I’m not talking here about data binding; that’s usually simple enough to do manually. What I need is a robust view that can contain other views (like popups, wrapped/formatted text, date-pickers, etc.) and supports, out of the box, intra-cell and inter-cell navigation using the usual suspects (tab keys, enter, arrows, etc.). Resizable columns are a plus.

Can I get this all by subclassing a listbox? Mostly. Probably. Maybe. I’ve looked at Simon’s MagicListbox, and it’s also promising (but where are the events I need for navigation?) I usually wind up rolling my own, but I never have the time to put in all the features I want. Maybe someday I’ll go back through all the times I’ve had to do this and roll a “best of” version that I would maintain.

Anyway, if some enterprising group wanted to come up with specs on which most people could agree, then perhaps a small group could develop such a control. I’m happy to pay for quality components I use in development – I’ve certainly given Christian enough money over the years :wink:

PS: this is my first post on the newly-reincarnated Xojo forums. I’m very excited that Xojo is alive and kicking (thanks Geoff and friends!) and also happy that I no longer have to cover my mouth and mumble “Basic” when I’m talking to other developers about this product.

And what about a skeleton only support for RTF ?

What is the update on this much needed and missing feature?


for example

5 years ago, when this thread was last active, I was not nearly as capable using the ListBox as I am now. Since that time, I’ve fallen in love with the ListBox, it can handle just about any job I throw at it. I’ve had to subclass sometimes to get the functionality I needed, but it can handle just about any job I throw at it.