Evaluating - how can there be no DataGrid

I have watched this product at a distance for several years, checking in occasionally to see if it became a match for my work.
I spend, unfortunately, a great deal of time looking for development tools that will reduce coding.

I applaud the effort hear in giving RB a second life as a new product. But - how can there not be a DataGrid in the product?
It’s the most basic, essential requirement. How can it not be there? Is there a plan to add one shortly?

1 Like

This discussion has come up a couple of times recently. Still my question - what should a ‘grid’ do that the current Listbox (or subclasses) can’t do? On top of that there are 3rd party controls like the DataGrid or StyleGrid (Einhugur) that do a fantastic job - I often use them in my project (too lazy to subclass the listbox myself :-P)

I tend to agree with Alex. The built-in Listbox is surprisingly good once you figure it out. It has a lot of options that you may not even realize. I tend to run with one or two heavily subclasses ListBoxes to meet our client needs.

With that said, I do understand your feelings. When I was head of ARBP we did a survey of members and the top 2 ‘needs’ were a DataGrid and a Reporting system. Well, we got a reporting system a year or so later but we’re still waiting on a DataGrid.

I’d highly recommend looking at the Einhugur http://www.einhugur.com/index.html StyleGrid and DataGrid but I suspect you’re looking for an ‘easy’ button much like you get with .NET and ActiveX languages. Unfortunately, those just don’t exist in the Xojo world.

After 10 years waiting, I just gave up. Xojo tries to focus on the compiler and very basic features, and seems do not have engineers to focus in creating, maintaining, matching and extending popular features and controls native from other environments (like datagrids, splitters, etc). Every non-Xojo developer knows that other IDEs (even some older than 15 years, but some not Xplatform) have powerful and native data components (drag, drop, see live content, adjust live, set features and behaviors in 10 seconds). So this question will arrive for life until addressed. And by addressed I see a wait of not less than 3 more years if they decided match those features right now.

I came to RB after many years of working with Delphi. Delphi had a rich source of data aware components including a magical data grid. I was initially very disappointed with the RB listbox.

However, now I would not have it any other way. I love the listbox and the ability to change everything within it. I can make it data aware very easily in the code and my vote would be for the way in which Xojo works rather than the ‘old’ Delphi data grid.

Sorry, but that is my two-pence worth!

Simon.

This thread saves me lots of time, because I won’t continue evaluating. I don’t see the point, then - especially for someone like me focused on web app development. Moving on.

I agree. it definitely worth someone’s time to understand the desktop listbox API and what it can do. It is an amazingly flexible too… But with all general use tools it requires more work than thing designed for a specific task.

Wait 10 years or plop down $200 for the Einhugur Grid (and several other controls)? Seems like a no brainer to me if you need a grid to get the job at hand done. I agree I wish they had a built in Grid, but to be honest the included one with .Net is bare bones, there are much better third party offerings.

[quote=26169:@Simon Berridge]I came to RB after many years of working with Delphi. Delphi had a rich source of data aware components including a magical data grid. I was initially very disappointed with the RB ListBox.

However, now I would not have it any other way. I love the listbox and the ability to change everything within it. I can make it data aware very easily in the code and my vote would be for the way in which Xojo works rather than the ‘old’ Delphi data grid.[/quote]
Simon, you seem to be the person who knows the answers to this ‘basic’ question:

how to use ListBox ‘just like data grid’ ?

Hmmm, I do not claim to be an expert - Bob and Karen are the experts (both have replied in this stream). What you are asking is not a simple question as you have to rethink your approach if you are used to a data-aware grid. In Delphi you just point the data grid to a table or view, define the column links and away you go.

My only uses for a listbox in my Delphi projects was for data-aware displays so it was very important for me to find a way to replace it in RB. All I can tell you is that I had no real choice in the matter but to persevere with using the inbuilt listbox in the projects that I was converting from Delphi to RB (now Xojo). It was a learning curve of trial and error and within a very short time I came to realise that I did not actually need a data grid at all.

The Delphi data grid recognises whether it is dealing with text, numbers or currency and justifies the items in the list line (right-align numbers etc.). Once I had worked out how to do that in a listbox it became very simple.

If you are looking for a step by step guide then I have to tell you that would be the subject of a major piece of writing work and one I really do not have time to undertake. Maybe one of the other contributors might consider this task. From reading this forum it seems to me that Karen is the ‘real’ expert here…

Ultimately I created my own listbox (MagicListBox) derivative from the inbuilt listbox and I use this all the time. Whilst it is not exactly ‘data-aware’ the programming code that fills that gap is really simple.

The code (with an example project) can be obtained from here:
https://dl.dropboxusercontent.com/u/10747116/RealStudioClasses/MagicListbox.zip

There is no alternative but to spend some time ‘playing’ with the listbox to fully appreciate its power - I love the control.

Simon.

Simon:

I do not recall having used a data grid in old times (before 1998). Said in other words, I only know ListBox, so I cannot evaluate the asking.

You, on the other hand, seems to know both and are in the situation to explain how good a data grid can be for Xojo.

English is not my mother tongue and sometimes I do not express myself correctly; I am sorry.

What you can do with current 3rd party grids and much coding your can do with a listbox and a bit more much coding. I believe you don’t know .Net enough to talk about how easy, fast and powerful its datagridview is, or even how productive the old VB6 datagrid were.
I like listBoxes and it’s possibilities, but Datagrids aren’t listboxes. Probably the current data model needs review before we have real datagrids due to lack of properties like caching, cursor control, locking scheme, synchronization in the current data controls. Probably that’s why we don’t have datagrids and will not have one for some time.

Xojo is not a professional development tool on the Windows platform as long as a DB grid and a Chart control is not shipped with Xojo. From what I have learnt the last year is that the same arguments are said and Xojo Inc have not put it on their long to-do-list. So let’s face it once for all: it will never happens within the foreseeable future.

Total silliness. Who died and appointed you chief platform analyst? Fact: most applications written for any platform are not database driven and do not need grid and chart controls. Fact: aside from prototyping and one off apps, such controls typically get scrapped by developers when building real-world products anyway. Fact: it’s not terribly difficult to hook up queries to controls in Xojo, and doing so gives you more control of your data model. Fact: there are third party controls available for developers like yourself who really think they need them.

What do you mean by a DB Grid? It is trivial to subclass a listbox to have a method that populates it from a record set. Making it inline editable would be a bit more work, but not an unreasonable amount.

But IMO at least a basic built-in Graphing/charting control should be part of a RAD tool. The lack is a lack… but not a show stopper.

How many of us, Xojo Developers, use graphing/charting in our application??

I write financial applications (nearly all my apps). Area and Pie Charts are a very common feature to display in these.

I have created my own classes for bar, pie and line graphs. I really like the look of MoneyBread’s Chart Director but it is outside of my budget just now.

Simon.

We have written application for the last 20 years and never has the need to use any chart or graph. We do mostly database application and include images.

1 Like

I am totally dependent of databases, reports and graphs too, but I must say that for each 10 reports, just one uses graphs, usually executive summaries. And for screens the same, only 10% uses graphs for dashboards. Every developer who works with business software nowadays needs them just because the competition has and managers like them.

https://www.google.com.br/search?q=business+dashboards&safe=off&source=lnms&tbm=isch

https://www.google.com.br/search?q=business+reports&safe=off&source=lnms&tbm=isch

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:
https://dl.dropboxusercontent.com/u/10747116/RealStudioClasses/DataAwareListbox.xojo_binary_project.zip

FYI this took me about one hour.

-Simon.