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

Reply via email to