Evaluating - how can there be no DataGrid

What feature you need fom the Listbox ?
(that are supposed to be in a DataGrid ?)

[quote=408435:@Emile Schwarz]https://einhugur.com/Html/DataGrid/index.html

for example[/quote]
no more support for this one (and stylegrid too)
no 64bits for example


Think it’s very well possible to extend (subclass) the Listbox control to a quite nice datagrid, but it can be quite some work to build an universal usable control which will be easily configurable. A project itself.

I highly recommend considering piDog’s DataView as an alternative instead of subclassing ListBox. It is built on a canvas and thus can do many things much harder to pull off in a Listbox subclass. Instead of listing some of them here, take a look at the features mentioned on the above link.

An example project included shows how you can browse SQLite tables with dynamic data supplied from the database.

No vested interest. Just a user who keeps finding more use cases for this control. It is SOO much more than a Listbox on steroids.

Demo zip version 1.12.3.1 downloaded, but when trying to run I get a window telling me that there are errors and when pressing the button the app closes. Think demo’s should work right away, without the need to fix blocking issues first.

I believe the author follows the forums, but I’ll send him an email to make sure he sees this. I’ve never had that happen to me.

What OS are you running, and what version of Xojo? (More for his sake when he reads this thread.)

@Joost Rongen It looks like the image file references reverted to absolute paths rather than referencing the included resources. I’m fixing it now. Should be up within an hour or two.

[quote=408499:@Douglas Handy]An example project included shows how you can browse SQLite tables with dynamic data supplied from the database.
[/quote]
I do this completely with a listbox ( in a containercontrol with 2 scrollbars and an infopane)
no lag even with 1000000 rows (tested on a remote adsl postgres database)

Yes, that is certainly possible. And Kem has an amazing Data-On-Demand available on his downloads page. Kudos for it too. Incredibly fast even when using a remote database as the dynamic data source.

But the piDog DataView is so much more than just data grids. The more I use it, the more I find other cases where I appreciate things like:

  • Variable row heights
  • More cell types, including support for cells having containers
  • Cell spanning – multiple columns or multiple rows or both
  • Freeze column(s) on the left
  • Zoom support
  • User rearrange columns while code refers to columns by original location
  • Visual smooth row or column dragging while seeing the entire contents move, not just a black line placeholder
  • Save / restore of contents using XML
  • Nice drag and drop support (e.g. dragging cell contents between cells)
  • Way more events then a Listbox, letting you override or preempt tons of stuff
  • Etc

I have it on a regular Listbox !

Care to explain ?

You can code this one by yourself…

This one I fixed myself, happens often, but there was also a runtime error right at startup in a XML-export class.
Please make sure the demo works right away since it’s important to get an impression of the product without annoyance of errors to be fixed first.

[quote=408576:@Emile Schwarz]I have it on a regular Listbox !

Care to explain ?[/quote]

The cell drag is IMHO much preferable in DataView, because it drags an image of the cell contents even if you have done custom painting in the cell. Many of my cases are dynamically generated and simply painted in the cells, with the actual text property blank. The drag image has all the stuff I painted into the cell, even if multiple strings with various alignment. Then as you drag the image around, it dynamically draws a border around the cell where it would be dropped, making it super simple for the user to see exactly where the destination would be. And in a DragOver event, I can dynamically indicate that I don’t want to allow a drop on that particular cell, and the drop destination border does not appear. From a user perspective, I find this way nicer.

Regarding column freeze on the left, think of a spreadsheet. For example, in Excel you have menu Window > Freeze panes. That allows one or more columns to remain visible on the left even as your scroll horizontally. Typically those are identifying column(s) which are useful for maintaining context as some columns disappear from view.

I can code lots of things by myself. But I license numerous third party controls so that I don’t have to do that. And typically find that in the process, inherit features that I would never have bothered to code myself until I “needed” them. But when they are already available to me “free” as part of something I have licensed to help solve another problem quickly, my experience is that you find new ways to exploit features you would not have bothered to code yourself.

Plus you get the vendor spending the time for things like 6-bit compatibility and changes to Declares, or issues from OS changes like color schemes, etc.

wow, I hope any modern software goes beyond “6-bit compatibility” :slight_smile:

“Six bits aught to be enough for anybody
” :frowning:

[quote=408588:@Joost Rongen]there was also a runtime error right at startup in a XML-export class.
Please make sure the demo works right away since it’s important to get an impression of the product without annoyance of errors to be fixed first.[/quote]
Sorry I didn’t get back yesterday. Taking care of a very sick dog


What OS/Xojo version are you on? I haven’t been able to reproduce this.

hope the puppy gets to feeling better.

Xojo 2017R3 Win10
(First things first, hope your dog will recover soon.)

lets make an opensource listbox with all common features all us want!
i’m sure here are a lot of good and experienced programmers

https://github.com/nkne/ExcelListbox