One valuable technique for understanding the DataGrid inner workings.

In Rev, choose the pointer tool, click on a data grid, then go the inspector, choose 'custom properties' from the drop down,

and now check out the property sets.  You should see dgProps and dgCache
Note all the properties that have been created when the data grid was created. Of course you can edit the values here, but you can also change them in script lines.

One bit of confusion for me is that there is no dgText property set visible here. The syntax

set the dgText [ true ] of group "DataGrid"  to tHeaders

would logically mean that there would be a custom property set "dgText"

Interesting if you click on dgProps "row template" you will see:
group id 1011 of card id 1010 of stack "Data Grid Templates 1260751174078"

...at least in my version of Rev 3.5

Hope this helps in your travels.

Jim Ault
Las Vegas



On Dec 15, 2009, at 3:18 AM, Andre.Bisseret wrote:

Bonjour Jim, Trevor and others on this thread ;-)

Le 14 déc. 09 à 19:11, James Hurley a écrit :
...

Trevor (and Andre.Bisseret),

Thanks you for the very thoughtful reply(s).

It is heartening to see something defended by its parent. My sincere apologies for treating your offspring in such a quick and dirty fashion :-) I'm sure I will appreciate the richness of this new Run Rev object in time--see below.

FIrst to satisfy my quick and dirty needs, I find that the following works well to get data displayed in a data grid field:

on mouseUp
 put field "data" into tData --Tab delimited text
 --The first line of tData contains the column names
 put line 1 of tData into tHeaders
 replace tab with cr in tHeaders
set dgProp["Columns"] of group "DataGrid" to tHeaders --Thanks to Andre for this line.
 set the dgText [ true ] of group "DataGrid" to tData
end mouseUp

Your handler above, confirmed by Trevoir, helped me a lot to understand the possible uses of pFirstLineContainsHeaders. In order to learn more about data grid, I tried several variations, I put below in case it could interest someone :

local tData,tHeaders,
-- field "data" = lines of tab delimited text -- a Data Grid "DataGrid" with 3 columns
------------

-- 1 ) IF THE LINE OF HEADERS IS NOT INCLUDED IN THE DATA (AS I AM ACCUSTOMED TO)
-- 1.1) WITHOUT USING pFirstLineContainsHeaders; WORKS:
on mouseUp
  put "header1" & cr & "header2" & cr & "header3" into tHeaders
  set the dgProp["columns"] of grp "DataGrid" to tHeaders
  put fld "data" into tData
  set the dgText of group "DataGrid" to tData
end mouseUp

-- 1.2) USING pFirstLineContainsHeaders: USELESS BUT WORKS :-)))
  on mouseUp
  put "header1" & cr & "header2" & cr & "header3" into tHeaders
  set the dgProp["columns"] of grp "DataGrid" to tHeaders
  put fld "data" into tData
  set the dgText[false] of group "DataGrid" to tData
end mouseUp

-- 2) IF, FOR SOME REASON, THE LINE OF HEADERS IS INCLUDED IN THE DATA (FIRST LINE)
-- 2.1) WITHOUT USING pFirstLineContainsHeaders: WORKS:
on mouseUp
  put field "data" into tData
  put line 1 of tData into tHeaders
  replace tab with cr in tHeaders
  set dgProp["Columns"] of group "DataGrid"  to tHeaders
  delete line 1 of tData
  set the dgText of group "DataGrid" to tData
end mouseUp

-- 2.2) USING  pFirstLineContainsHeaders: WORKS:
on mouseUp -- the handler from Jim
  put field "data" into tData
  put line 1 of tData into tHeaders
  replace tab with cr in tHeaders
set dgProp["Columns"] of group "DataGrid" to tHeaders --Thanks to Andre for this line.
  set the dgText [ true ] of group "DataGrid" to tData
end mouseUp
-------------------------------------------------
-- indeed, in all these handlers, it's possible to directly set the dgText of grp "datagrid" to fld "data" (but less fast, I guess, specially if it contains a lot of lines)
--------------------------------------------------
AS FOR THE SYNTAX OF pFirstLineContainsHeaders
OK: set the dgText[true]
nevertheless:
put true into pFirstLineContainsHeaders
set the dgText[pFirstLineContainsHeaders] of grp "datagrid" to true
works as well, but useless, OK :-)

set the pFirstLineContainsHeaders of grp "datagrid" to true does not work as that is creating a custom prop; OK :-))

I am a bit slow-witted but I am beginning to understand quite what this pFirstLineContainsHeaders can do ;-o)))))

Thanks to both of you,

André



_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to