Message: 27
Date: Mon, 14 Dec 2009 08:58:13 -0500
From: Trevor DeVore <li...@mangomultimedia.com>
Subject: Re: Newbie Data Grid question
To: How to use Revolution <use-revolution@lists.runrev.com>
Message-ID: <4392d851-15e4-48f7-83fb-d04224a70...@mangomultimedia.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
On Dec 13, 2009, at 4:10 PM, James Hurley wrote:
Yes the columns already exist.
If I set pFirstLineContainsHeaders to false, the field is populated
with data but the columns are set to Col 1, Col 2 etc.
If I then set set pFirstLineContainsHeaders to true (with the
columns already set to Col 1, Col 2, etc.) the columns remain
unchanged but the body of the text is empty.
The most likely cause is that you don't have a column labeled with
"Col 1" or "Col 2" in the first line of the data. Therefore the data
you are setting is not mapping to an existing column in the Data Grid.
Data Grid's do not behave like fields in that you can just swap text
in and out randomly. You should be defining the columns (using the
Property Inspector or by setting the dgData["columns"] property) and
then assigning data to the Data Grid that explicitly states which
column data goes into.
The reason for this is that Data Grid columns are objects in and of
themselves. They have properties that are set independently. If you
want to wipe them all out at once then you first create the columns,
set the column properties and then assign the data.
As a side note the fact that dgText automatically creates columns for
you is unfortunate in my opinion. This behavior was requested so that
someone could just set the text of the Data Grid and see instant
results. While that may be beneficial for "instant gratification" I
think it just causes more confusion then anything in the end.
The Data Grid isn't meant to be a quick and dirty means of displaying
data but rather a means of displaying data with lots of control over
the visual elements used to display that data.
--
Trevor DeVore
Blue Mango Learning Systems
ScreenSteps: http://www.screensteps.com
Releasable Revolution Resources for Developers:
http://revolution.bluemangolearning.com
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
Now to reinforce your point about the richness of this more complex
object:
In another context, I would like to be able to click on the first
column header and have it sort the grid by the LAST word of each in
the first column.
Is it possible to access (and modify) the script that the column
headers runs?
Thanks again for nursing us through the infancy of data grids.
Jim Hurley
_______________________________________________
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