>>>>>>>For design-time see
>>>>>>>
Re: Changing grid's RowSource in Design-time Thread #
674623 Message #
674846>>>>>>>
>>>>>>>And I just found that I forgot to add attribution in my code and was trying to find this thread by different name. Shame on me.
>>>>>>>
>>>>>>>For run-time I either use safe select approach or CA with CursorRefresh()
>>>>>>
>>>>>>Thanks, Naomi, but there;'s a simpler soln. I'm after
>>>>>
>>>>>What can be simpler than zapping a cursor and appending into it from the temp one?
>>>>
>>>>This:
>>>>
>>>>thisform.grid.recordsource = ""
>>>>
>>>>* Create new cursor...
>>>>
>>>>thisform.grid.recordsource = cursor
>>>
>>>And then you have to add a ton of code to get the grid to behave like it used to do? No this is NOT the way, Terry. But this is:
>>>
>>>Select whatever into cursor curtemp
>>>Select Gridcursor
>>>zap
>>>appe from dbf('curtemp')
>>>yourgrid.refresh()
>>
>>Thanks Tore
>>
>>This has raised some intersting issues:
>>
>>1. The initial dummy select - doesn't that belong in a different method? Otherwise it would be getting created again, anyway, every time you call the method to refresh the grid with the newly selected data?
>>
>>2. You talk about the extra code necessary (presumably to "shape" the grid.) but where does the grid formatting, and field-to-grid column allocation happen, if you don't select the data in the order in which it should appear on the grid.
>>AFAIC see, you have to do that anyway.
>>
>>Terry
>
>First of all, this discussion is maybe irrelevant if you always create the grid "on the fly". Personally I usually create grids from a temporary table with the same name as the cursor I create in the application, and I do it visually in the form designer. This also mean that I usually move some fields, resize them, and so on.
>
>1. Yes, persoanlly I have code like "Select * from myfile where .F. into cursor mydummy readwrite" in the form's load event, so that I have a cursor to bind the grid to.
That's where I supposed it should go - doe once then done with.
>
>2. As mentioned, I do that in the form designer. Some of my grids are very complex, with many calculated fields and so on.
Yes, my formatting, including the inclusion of several checkboxes, 2-line headers, et al is done in the form designer. Now, despite all the "safe cursor" advice, the only code I seem to need, in the "get the grid's cursor" method is:
With thisform
.pgfMainPageFrame.Page3.grdJnyStage.RecordSource = ""
Select IIF( Journey = "Y", .T., .F.) as lAllJourneys, ;
JLower, JUpper, ;
IIF( Stage = "Y", .T., .F.) as lAllStages, ;
SLower, SUpper, ;
IIF( Mon = "Y", .T., .F.) as lMon, ;
IIF( Tue = "Y", .T., .F.) as lTue, ;
IIF( Wed = "Y", .T., .F.) as lWed, ;
IIF( Thu = "Y", .T., .F.) as lThu, ;
IIF( Fri = "Y", .T., .F.) as lFri, ;
IIF( Sat = "Y", .T., .F.) as lSat, ;
IIF( Sun = "Y", .T., .F.) as lSun, ;
Start_Date, End_Date ;
from JNYSTAGE ;
where OPERATOR = lnOperator ;
and ROUTE = lcRoute ;
and MCL_RTE = lcMCL_Rte ;
into cursor csrRoutesStages ReadWrite
With .pgfMainPageFrame.Page3
With .grdJnyStage
.RecordSource = "csrRoutesStages"
EndWith
EndWith
EndWith
What would be the drawbacks of this scenario?
- Whoever said that women are the weaker sex never tried to wrest the bedclothes off one in the middle of the night
- Worry is the interest you pay, in advance, for a loan that you may never need to take out.