Referencing a single datagrid cell

Peter Haworth pete at mollysrevenge.com
Tue Feb 1 20:25:59 EST 2011


Thanks for the clear explanation.  

For me, it's not the use of arrays that is the problem, I'm a fan of arrays.  My simple brain just has a hard time wrapping my head around when I can call the dg commands/functions directly, when I have to dispatch/send them, when I have to tag on "in zero seconds".  I have been bitten by that many times!  

On the other hand, the dgText is always easily accessible and I can turn it into an array if I need to.  I have some homegrown handlers that are pretty much the equivalent of the dg command/functions but accessing the dgText instead of internal dg arrays and so far they have worked well for me and I have not had to worry if the scripts that use them are in the datagrid group path or not.

Pete Haworth

On Feb 1, 2011, at 4:01 PM, zryip theSlug wrote:

> On Wed, Feb 2, 2011 at 12:29 AM, Bob Sneidar <bobs at twft.com> wrote:
>> Ok Peter helped me understand the GetDataOfIndex/SetDataOfIndex functions. I think when I read, "- Retrieves the internal array for key pIndex of the internal array in the data grid..." I just assumed that the returned value would always be an array. I see now that if you reference a column name for the second argument you get a value instead.
>> 
> 
> Internally the datagrid works with arrays even if you populate with
> the dgText property.
> 
> For populating a datagrid of 3 columns with the dgData property we
> could use a script such as:
> 
> put "a1" into theData[1]["col1"]
> put "b1" into theData[1]["col2"]
> put "c1" into theData[1]["col3"]
> put "a2" into theData[2]["col1"]
> put "b2" into theData[2]["col2"]
> put "c2" into theData[2]["col3"]
> 
> Now if you transpose this code as bricks or pieces of puzzle and
> encase each piece by index and column names you could get:
> 
> theData[1]["col1"]["col2"]["col3"]
>                  a1       b1       c1
> theData[2]["col1"]["col2"]["col3"]
>                  a2       b2       c2
> 
> Now let's join the col names and extract each index
> 
> theData["col1"]["col2"]["col3"]
> 1             a1        b1      c1
> 2             a2        b2      c2
> 
> Then you have a double entry table: the datagrid.
> 
> Understand how working with arrays is one of the key to understand the
> datagrid object, I think. It make good sense why a name of a column
> (not the label) must be filled and unique: its just a key in an array.
> 
> getDataOfIndex simply read the corresponding value in a double entry
> table such as you could do it in a spreadsheet, by using A2 or L2C1
> 
> 
> Best regards,
> 
> -- 
> -Zryip TheSlug- wish you the best! 8)
> http://www.aslugontheroad.co.cc
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 





More information about the use-livecode mailing list