Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Clase - VCX si PRG  Referitor la Gr...
 Referitor la Grid
 
 9/29/2010 6:11:05 PM
User is offlinedanilea
212 posts
4th


Referitor la Grid
 (N/A)
Buna ziua,
Lucrez cu VFP9.
Am o Forma si pe ea un Grid.
Grid-ul este generat dintr-o clasa proprie(este cea nativa cu unele modificari).
Clasa column am subclasat-o in cod. La fel si clasa header.
Gridul in care este utilizata va avea proprietatile urmatoare:
MemberClass="myColumn"
MemberClassLibrary="myColum.prg"
Problema mea este urmatoarea:
1.Eu am deja pe forma un grid setat cu tot ce imi trebuie.
2.Daca schimb MemberClass si MemberClassLibrary pe gridul de pe forma,icepe "distractia": pe fiecare
coloana din Grid trebuie sa schimb de ex.Column1 in myColumn1,Header1 in myHeader1,etc.Si acest lucru
nu se poate face altcumva(cel putin asa stiu eu) decit cu USE Forma.scx si modificate cimpurile corespunzatoare.
In Designer,dupa ce schimbi pe Grid MemberClass si MemberClassLibrary,iti genereaza un Grid nou si adio
datele vechi.
Daca as avea citeva Forme nu ar fi o problema dar asa trebuie sa muncesti mai mult decit trebuie.
Daca stiam de la inceput cum se poate subclasa clasa Column(Dl.Dolghin a inceput un tutorial pe Class Software
pe tema aceasta,dar...),era mai bine acum pentru mine.As vrea sa am o singura clasa proprie Grid pe care sa o
folosesc(completez) pe parcurs.
Poate stie cineva o "metoda" neconventionala si aplicabila ca sa pot smecheri un pic problema mea.
Va multumesc.
 9/29/2010 7:26:49 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Referitor la Grid
 (N/A) Modified By Daniel Buduru  on 9/29/2010 7:38:31 PM)
Ai aici un cod care schimba clasa gridului intr-o biblioteca. Modificand extensia din vcx in scx in cod, poate face asta si intr-o forma.
Desigur, vei inlocui in comenzile #DEFINE denumirea claselor si bibliotecilor cu cele pe care le folosesti.

Pentru orice eventualitate, fa un backup al formei sau bibliotecii inainte de a utiliza programul.

*grid2custgrid
#DEFINE kGridClass  "custGridClass"
#DEFINE kGridClasslib "custGridClassLib.vcx"
#DEFINE kColumnClass  "custColumnClass"
#DEFINE kHeaderClass "custHeaderClass"

Lparameters tcClasslib
If Empty(tcClasslib)
    tcClasslib=GETFILE('vcx','Selectati biblioteca')
    If Empty(tcClasslib) Or !File(Forceext(tcClasslib,'vcx'))
        Return .F.
    endif   
Endif
Local lnArea, lcParent, lcAlias, loError As Exception
lnArea=Select()
Select 0
lcAlias=Sys(2015)
Try
    Use (Forceext(tcClasslib,'vcx')) Alias (lcAlias) Shared Again
Catch To loError
    Messagebox(loError.Message)
Endtry
IF !USED(lcAlias)
    RETURN
endif   
Scan For Lower(BaseClass)='grid' AND LOWER(class)='grid'
    Replace ;
        class With kGridClass,;
        classloc With kGridClassLib,;
        properties With gridprops(properties)
    lcParent=Parent+'.'+objname
    skip
    Scan Rest While At(lcParent,Parent)=1
        Do Case
        Case Class='header'
            Replace Class With kHeaderClass
        Endcase
    Endscan
    If Lower(BaseClass)='grid' AND LOWER(class)='grid'
        Skip -1
    Endif
Endscan
Use
Compile Classlib (tcClasslib)
Select (lnArea)



Function gridprops
Lparameters tcText
Local lnIndex, laLines[1], lcRetval
lcRetval=''
Alines(laLines, tcText,16)
For lnIndex=1 To Alen(laLines)
    If Atc('column',laLines[lnIndex])=1 And Isdigit(Substr(laLines[lnIndex],7))
        laLines[lnIndex]=kColumnClass+Substr(laLines[lnIndex],7)
    Endif
    lcRetval=lcRetval+laLines[lnIndex]
Endfor
Return lcRetval
Endfunc


Daniel Buduru
  Visual FoxPro  Clase - VCX si PRG  Referitor la Gr...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement