Displaying Data for CRUD Operations - DataGrid, GridView Controls

Hello Getting Started Forum,

I am a .Net Developer (C# and VB.Net) and am learning X. In the .Net Ecosystem if building a Windows Form application I would use a DataGridView control to display data and do CRUD operations on that data. In an ASP.Net Web Forms application I would you a GridView control to display data and do CRUD operations on that data. If doing other ASP.Net project types I would use Bootstrap grids.

What does Xojo have that is equivalent to these types of controls? If they don’t have equivalents, what do you recommend? This will be used in desktop and web applications. In my current web app I am not seeing a way to add an HTML table either. At this point I have been watching the videos on the GoXojo channel on YouTube.

Any help would be most appreciated!


Joe Rufft

There is no equivalent
Between desktop and web you’ll end up using, at best, the respective listbox control
But they’re not like what you’re used to and very low level - you basically code most things yourself

Graffiti Suite has some grid controls for both desktop and web that might come close to what you need. You should check them out and explore. The author, Anthony, is a great guy and I trust his work.

There is not a grid control built in with tons of automatic functionality and it does not bind to a data control or anything like that. When I ran into this same issue years ago, I found that you can roll your own using the Listbox. However, I avoided it because I really thought it would be a ton of work. What I have learned is that the listbox in Desktop apps and Web Apps can be very flexible and if I roll my own (by subclassing), I have been able to make it do everything I need.

For example, I have a listbox subclass that I initialize in the open event and pass in column information (field type, database field name, alignment, etc). The listbox then automatically sets itself up with the right number of colums and headers. Then I have a method on the listbox that accepts a recordset and automatically fills the listbox and formats the data in the cells according to the column information.

Xojo has plans for this in the Road Map, currently #9: Easy Database Connectivity - The ability to quickly connect database tables to your app’s user interface and get data in and out.

Thank you all for the insight and direction.

Tim, thank you for providing the 3rd party control reference. I will check it out.

Brandon, thank you for a more detailed look at the flexibility of the the listbox. I still need to watch the listbox videos on GoXojo.

Hal, Thanks for the road map. Any idea when Web Framework 2.0 will be available?


Joe Rufft

Unfortunately, Xojo doesn’t like to announce dates. This helps them ensure that features are ready for production when they reach release. We have the roadmap to give us a general idea of their direction, but Xojo won’t be sharing time frames with us.

You can sign up for the newsletter though! They sometimes give us sneak peeks with the newsletter :slight_smile:

when I look at the time we are waiting for #1-#8, I wouldn’t make any plan for using #9 … wait and see.
I made my own listbox subclass, to work with databases and so. works fine but took me 1 year (part time) to make it work, and I’m still adding things today, 3 years after. I’m also porting it to the web app. I learned a ton doing so.


You have learned a ton, but that sounds like a total pain and a time killer (a year part-time and still adding stuff 3 years later, not to mention it sounds like it has not been ported to Web Apps). Hearing that is making me just want to stick with C# since .Net now with the .Net Core is cross platform (Linux, Windows and MacOS). VB.Net is being added to .Net Core for VB lovers and Visual Studio is available on Mac. Sounds like I have some choices to make.


Joe Rufft

I understand completely your point of view. I just read that the multiplatform of VB and .NET is not really what you would expect for macos at least. Xojo is far more in advance for the multiplatform thing. but they don’t have any grid control now.

I made it myself mainly because like that it is exactly like I want, I don’t have to learn to use other’s work.
if I want to add a feature, I don’t have to wait for the author of the tool I use to implement it.
it is more work, but it’s feels so good when you see it working, and after this time using it I really don’t regret my choice.
my listbox subclass is completely fluent using local or remote databases, even on a lousy adsl line.
it’s able to display all kind of datas, from multiple databases local or remote at the same line of the list.
I also made a database editor (for local and remote) that is linked to the listbox, so making a new list with any field is only some clics.
porting it to the web is not done because I don’t need it right now. I planning to use it in upcoming projects, and all the hard work has already been done in the listbox, it’s “only” a transcription (and a discover of what is not exactly like the listbox in a weblistbox …)

It was anounced like two years ago, and there is still not a release date, acording to the “roadmap”, it is No 2, after the API 2.0. so, MAYBE some time next year, so, not expecting No. 9 any time soon

At this rate, maybe .NET will be more multiplatform and much more feature rich when the roadmap reach No.9 :frowning: