On Mar 16, 2010, at 8:10 AM, Len Morgan wrote:

To answer your first question, the lines aren't getting colored and I have a message that's supposed to print to the message box as it goes by. I went so far as to put a 500 ms delay in this routine (so EVERY column would wait 1/2 a second just in case the message got overwritten by a later message.

I think I need some more information about how you have set up your data grid. Where have you defined FillInData? Have you created a custom column behavior for your table as described in this lesson?

http://lessons.runrev.com/spaces/lessons/manuals/datagrid/lessons/7327-How-Do-I-Override-the-Default-Behavior-For-Rendering-Data-to-a-Cell-

I'm not sure what you mean exactly by "what columns have you defined". They are all text fields, (e.g., no icons, images, buttons, etc). I create the data array by going though the returned data a line at a time and creating a tab (col) delimited, cr (row) delimited variable then use:

On the Columns tab of the data grid object inspector you define the columns in your data grid. This affects which columns appear in your data grid table.

To clarify your first comment, if I set the entire data array using dgText, does it call FillInData for every line possible or only the visible ones?

Only the visible ones. A data grid will only ask for data on an as- needed basis UNLESS you set the "cache controls" property to true. But that only works with forms so it won't apply in your case.

The reason I ask is that one of the things I want to do with FillInData is to get three more fields that don't come out of the original query. I have two dates that come out of another table and have not been able to come up with any SQL query that would return these fields in the original query.

In situations like this I have run the necessary queries, joined the results and then assigned the resulting data to the data grid.

What I want to do is when FillIndata gets to the first field (key field), I can call another query for that one record only. As each row is processed, I can get these two dates. This will not be a processing burden IF I only fill the data that is on the screen at the time.

If you want to go this route you could modify your FillInData routine to look something like this:

on FillInData pData
## Note: Not very efficient as FillInData is called for every column of every row
    ## Check if date column has been fill in yet.
    if GetDataOfIndex(the dgIndex of me, "Date 1") is empty then
        ## Query db and get date values...

        ## Assign to row in Data Grid
        SetDataOfIndex the dgIndex of me, "Date 1", theDateValue
    end if

    set the text of me to pData
end FillInData

The last "field" I need isn't really a field but rather, based on the value of this field, I need to set the row color. This field I DO have at the time theDataA array is created.

The instructions for colorizing a line described in the lesson should work then. Let me know about whether or not you set up the custom column behavior and we can go from there.

--
Trevor DeVore
Blue Mango Learning Systems
ScreenSteps: http://www.screensteps.com
Releasable Revolution Resources for Developers: 
http://revolution.bluemangolearning.com

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

Reply via email to