Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Why CursorFill() is faster than CursorRefresh() in a CA?
Message
De
02/12/2010 14:10:48
 
 
À
02/12/2010 13:28:41
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows 7
Divers
Thread ID:
01491162
Message ID:
01491615
Vues:
54
Fabio,

Which brings me to a question. Since CursorFill() always makes a new cursor, I usually do this to reload the grid:
ThisForm.myGrid.RecordSource = ""
ThisForm.myGrid.ColumnCount = -1

ThisForm.myGrid.RecordSource = ThisForm.oCursor.Alias   && object reference to the CA
ThisForm.myGrid.ColumnCount = FCOUNT( ThisForm.oCursor.Alias )
ThisForm.myGrid.Refresh()
Why does it run beserk when I change the ORDER clause? If I change the list of fields (SELECT field1, field2... ) it works always.

Dennis


>>Fabio,
>>
>>CursorRefresh does not create a copy,
>>it do a ZAP ("CA: Alias") and fills it

>>
>>You are right there. However, if you change SelectCmd, like change or add the ORDER or WHERE clause, CursorRefresh() will still 'respect' the existing SelectCmd and not the new one. If something is changed in SelectCmd, one has to do a CursorFill(), therefore a new cursor will have been created. This will blank the grid.
>>
>>Dennis
>
>I known.
>
>The VFP design to ignore a change of the SelectCmd in the BeforeCursorRefresh,
>leave as the only possibility the use of parameters in SelectCMD.
>This is very annoying in some cases.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform