Clarence P Martin chipsm at
Thu Feb 25 11:12:22 EST 2016

Thanks for your reply. 
I will spend more time analyzing the code in the DataGrid.


Clarence Martin
Email: chipsm at
Cell: 626 6965561

-----Original Message-----
From: use-livecode [mailto:use-livecode-bounces at] On Behalf Of Trevor DeVore
Sent: Thursday, February 25, 2016 6:30 AM
To: How to use LiveCode <use-livecode at>
Subject: Re: DataGrid

Hi everyone,

I'm going to include responses to a number of thread comments in this response.

On Wed, Feb 24, 2016 at 2:53 PM, Clarence P Martin <chipsm at>

>  a very immersive user and I need to know how things work. This allows 
> me to get the most out of anything that I use. I am also assuming that 
> this is supposed to be a “Data Centric” tool which is very important 
> to certain applications.

Yes, DataGrids are a data centric tool.

> I am hoping that this tool is high on the list of “near future” 
> widgets and will eventually be less cryptic.

I don't know what the plans are for widgets that provide similar functionality to the DataGrid. I would hope that nobody ever tries to create a widget that does the exact same thing. That would be asanine :-) Rather, widgets should be more focused in the problems they try to solve (e.g. don't combine the form and table in the same widget). The DataGrid was built using the technology available at the time and combined a couple of features in order to solve a broader range of issues developers were facing.

> I have seen the tutorials on the LiveCode site  and I am still trying 
> to completely understand the tool.
> If the author of this tool reads this list, I am hoping for some help 
> and insight on using this tool.

I am the original author of the DataGrid. I don't provide any one-on-one support and unfortunately I don't have time to explain everything about how it works under the hood. You would need to dig into the code if you want that kind of understanding. If you have specific questions as you go through existing documentation then you can post those and someone here will be able to provide some help.

On Wed, Feb 24, 2016 at 5:13 PM, stephen barncard < stephenREVOLUTION2 at> wrote:

> But my question is ... why is it so S L O W ??

IIRC, you are seeing a slowdown in LC 7 or 8. Is that correct? Do you have a test stack you can show that demonstrates the slow down you are seeing?
While I don't use the DataGrid any longer, a control I use that is similar to the DataGrid doesn't perform any differently in LC 8.

On Thu, Feb 25, 2016 at 3:27 AM, Terence Heaford <t.heaford at>
> Its because it is built using multiple live code fields and 
> manipulating data in these fields when scrolling is pushing live code 
> scripting probably to and beyond it’s limits. For smallish tables it 
> works adequately but as the number of rows and columns increases the 
> performance diminishes to a point where you say to yourself it is is 
> not useable.

The number of rows shouldn't affect the scrolling speed. The DataGrid doesn't create any more rows based on the amount of data. It only generates enough controls to view the visible rows (+ a handful of others). The number of columns can affect the scrolling as more controls have to be created based on the number of columns.

> I believe it was probably created by Trevor Devore because he had a 
> need and live code didn’t provide a table/grid at the time.

I created the DataGrid form to meet specific needs my projects had. It
evolved over a couple of different projects. I was asked to add the table
functionality by LiveCode as there was no solid table solution and (as we
well know by now) there wasn't going to be a dedicated table control
created in the old LiveCode engine.

> It will never scroll smoothly as say Objective-C tables in Xcode as the
> data grid probably relies on moving the cell contents from field to field
> to simulate scrolling
> so to the eye it does not appear to be smooth. This again is not helped by
> the fact it is done in script which in comparison to compiled is slow.

Very true. The fact that the DataGrid has to create so many LiveCode
controls puts it at a huge disadvantage. Each control carries a lot of
baggage when it comes to rendering and event processing.

> There really needs to be a version created in a c or c++ or objective-c or
> whatever that is compiled into the the live code system.

I don't think this is the case. Widgets provide (or at least will provide)
an excellent platform for building out a custom control like a Widget. When
designing a widget, a developer only has to draw what is absolutely
necessary. This is much more efficient than the current approach. Widgets
are also self-contained unlike groups which makes event processing much
easier. And because widgets can be nested the underlying design becomes
much simpler. I think widgets will give us everything we need without
having to resort to C++.

We still can't create editable text fields with a Widget yet so creating an
editable table or form isn't possible yet. But once we can then widgets
will be the way to go.

Trevor DeVore
ScreenSteps    -
use-livecode mailing list
use-livecode at
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:

More information about the use-livecode mailing list