Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Saving Grid Columns Positions
Message
 
 
À
25/01/2008 03:00:32
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Allemagne
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Divers
Thread ID:
01285431
Message ID:
01415777
Vues:
75
Hi Agnes,

What do you do with this oStore object? In other words, how do you save it to be available in the next invocation of the form?

>Hi Jos,
>
>the first problem is, how do you store your settings? There are several ways and that will define how to save them.
>
>What I can do is, show you what to store. The first method puts all information (width, pos,partitionj) into an empty object.
>The second will reload.
>
>
>PROCEDURE SaveProperty
> LPARAMETERS;
>  toStore AS EMPTY
>
> LOCAL;
>  lcColumn AS CHARACTER,;
>  lnLoop1  AS INTEGER
>
> toStore = CREATEOBJECT('EMPTY')
> WITH THIS
>  FOR lnLoop1=1 TO .COLUMNCOUNT
>   lcColumn = .COLUMNS(lnLoop1).NAME+[_]
>   ADDPROPERTY(toStore,lcColumn+[WIDTH]      ,.COLUMNS(lnLoop1).WIDTH)
>   ADDPROPERTY(toStore,lcColumn+[COLUMNORDER],.COLUMNS(lnLoop1).COLUMNORDER)
>  ENDFOR &&lnLoop1
>
>  ADDPROPERTY(toStore,[LOCKCOLUMNS]    ,.LOCKCOLUMNS)
>
>  IF .SPLITBAR THEN
>   ADDPROPERTY(toStore,[PARTITION]      ,.PARTITION)
>   ADDPROPERTY(toStore,[LOCKCOLUMNSLEFT],.LOCKCOLUMNSLEFT)
>  ELSE &&.SPLITBAR
>   ADDPROPERTY(loStore,[PARTITION]      ,0)
>   ADDPROPERTY(loStore,[LOCKCOLUMNSLEFT],0)
>  ENDIF &&.SPLITBAR
> ENDWITH &&THIS
>ENDPROC &&SaveProperty
>
>PROCEDURE LoadProperty
> LPARAMETERS;
>  toStore AS EMPTY
>
> LOCAL;
>  lcColumn AS CHARACTER,;
>  lnLoop1 AS INTEGER
>
> WITH THIS
>  IF THIS.COLUMNCOUNT=0 OR THIS.RECORDSOURCE=="" THEN
>* IF THIS.COLUMNCOUNT=0
>   RETURN .F.
>  ENDIF &&THIS.COLUMNCOUNT=0 OR THIS.RECORDSOURCE==""
>  IF !PEMSTATUS(toStore,'PARTITION',5) THEN
>   RETURN .F.
>  ENDIF &&!PEMSTATUS(.empSettings.empProps,'PARTITION',5)
>
>  FOR lnLoop1=1 TO .COLUMNCOUNT
>   lcColumn = .COLUMNS(lnLoop1).NAME+[_]
>   IF PEMSTATUS(toStore,lcColumn+[WIDTH],5) THEN
>    .COLUMNS(lnLoop1).WIDTH = EVALUATE([toStore.]+lcColumn+[WIDTH])
>   ENDIF &&PEMSTATUS(.empSettings.empProps,lcColumn+[WIDTH],5)
>   IF PEMSTATUS(toStore,lcColumn+[COLUMNORDER],5) THEN
>    .COLUMNS(lnLoop1).COLUMNORDER = EVALUATE([toStore.]+lcColumn+[COLUMNORDER])
>   ENDIF &&PEMSTATUS(toStore,lcColumn+[COLUMNORDER],5)
>  ENDFOR &&lnLoop1
>
>  .LOCKCOLUMNS = MIN(toStore.LOCKCOLUMNS,.COLUMNCOUNT)
>
>  IF .SPLITBAR THEN
>   .PARTITION       = MIN(toStore.PARTITION,.WIDTH-5)
>   .LOCKCOLUMNSLEFT = MIN(toStore.LOCKCOLUMNSLEFT,.COLUMNCOUNT)
>  ENDIF &&.SPLITBAR
> ENDWITH &&THIS
>ENDPROC &&LoadProperty
>
>
>HTH
>
>Agnes
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform