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  Baze de date, tabele, view-uri si indecsi  grid cu inregis...
 grid cu inregistrari in 4 culori
 
 7/9/2009 4:25:45 PM
User is offlinenicu
87 posts


grid cu inregistrari in 4 culori
 (N/A) Modified By nicu  on 7/9/2009 4:26:51 PM)

vfp 6.0
-am grid cu inregistrari in 3 culori ( de fapt 2 a 3 este alb)
        thisform.grid1.setall("dynamicbackcolor",;
              "iif( (len(allt(prel_def1))>0 or len(allt(prel_def2))>0) and len(allt(nume_rez1))=0 and len(allt(nume_rez2))=0 ,;
                    rgb(0,138,69),;
                    iif( len(allt(nume_rez1))>0 or len(allt(nume_rez2))>0 , rgb(212,212,212), rgb(255,255,255))  )",;
               "Column")
 
-vreau sa mai adaug o culoare a 4 astfel :
    thisform.grid1.setall("dynamicbackcolor",;
        "iif((len(allt(prel_def1))>0 or len(allt(prel_def2))>0) and len(allt(nume_rez1))=0 and len(allt(nume_rez2))=0,"+;
              "rgb(0,138,69),"+;
              "iif(len(allt(nume_rez1))>0 or len(allt(nume_rez2))>0,rgb(212,212,212),iif(1=1,rgb(255,255,138),rgb(212,212,212)))))",;
        "Column")
dar acum toate inregistrarile ramin albe.. ca idee  in locul ultimului iif(..) am pus 'k' si nu-mi returneaza nici o eroare.. Ce gresesc?
 7/9/2009 6:05:51 PM
User is offlineaflorin
840 posts
1st


Re: grid cu inregistrari in 4 culori
 (N/A)
Daca numar eu bine, problema e aici:
rgb(212,212,212)))))",;

adica sunt 5 paranteze inchise si ar trebui sa fie 4 (una de la RGB() + 3 IIF()-uri). Si atunci comanda ta SETALL() nu se mai executa si gridul ramine default (cu toate rindurile albe)

Florin Aparaschivei - Iasi
 7/9/2009 8:09:38 PM
User is offlinenicu
87 posts


Re: grid cu inregistrari in 4 culori
 (N/A)
 aflorin27 wrote
Daca numar eu bine, problema e aici:
rgb(212,212,212)))))",;

adica sunt 5 paranteze inchise si ar trebui sa fie 4 (una de la RGB() + 3 IIF()-uri). Si atunci comanda ta SETALL() nu se mai executa si gridul ramine default (cu toate rindurile albe)


corect...
 7/9/2009 10:12:12 PM
User is offlineAdrian Gerlan
581 posts
1st




Re: grid cu inregistrari in 4 culori
 (N/A)
Si daca vrei a 5-a culoare ce faci, mai adaugi un iif() ?? Poate ar fi mai bine sa adaugi inca un camp cursorului ce sta in spatele gridului, camp care sa-l incarci, inainte de afisarea datelor in grid, cu valoarea RGB() a culorilor dorite. Apoi un simplu ".SETALL( 'DYNAMICBACKCOLOR', 'tabela.camp_culoare')" in refresul gridului rezolva toate problemele.
AdiG
 7/10/2009 9:36:44 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: grid cu inregistrari in 4 culori
 (N/A)
Nota 10, Adi :)

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 7/10/2009 10:13:41 AM
User is offlineVictor Iuga
156 posts
5th


Re: grid cu inregistrari in 4 culori
 (Romania)

Merge numai daca in grid nu se editeaza campurile care determina culoarea. Altel nu mai e chiar dinamica colorizarea, ramane fixa dupa culoare initiala de la crearea cursorului (daca e cursor, ca poate e tabela).

Oricum pt alocare trebe un DO CASE, ca doar is multe ... cazuri. Poate fi pus intr-un method si apelat ca functie direct din grid

 7/10/2009 10:35:33 AM
User is offlineCLASSOFT
231 posts
www.classoft.ro
4th


Re: grid cu inregistrari in 4 culori
 (N/A)
Daca vrei sa ramai la metoda tipica IIF iti recomand noua functie : ICASE care este mult mai compacta pentru acest caz...


ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ...
[, eOtherwiseResult])
 7/10/2009 11:04:06 AM
User is offlineHorHe
116 posts
5th


Re: grid cu inregistrari in 4 culori
 (N/A)
 nicu wrote

vfp 6.0
...


in vfp6 nu cred ca este :)
 9/23/2009 10:29:46 AM
User is offlinevmira27
13 posts


Re: grid cu inregistrari in 4 culori
 (N/A)

Vreau sa fac si eu un grid in mai multe culori (in functie de continutul unei celule, randul respectiv trebuie colorat intr-o anumita culoare) folosind urmatorul cod:

thisform.NumeGrid.setall("dynamicbackcolor", "iif(CelulaDinGrid>0), rgb(X,X,X), rgb(Y,Y,Y))

Problema e ca nu stiu cum sa fac referire la continutul celulei. Am incercat (in loc de CelulaDinGrid am folosit):

1)thisform.NumeGrid.Column1.Text1.value

2)thisform.NumeGrid.Column1.value

dar nu a iesit nimic !!

Ma poate ajuta cineva sa-mi spuna ce trebuie sa pun in loc de CelulaDinGrid?

Multumesc frumos de ajutor!!!

 9/23/2009 10:35:29 AM
User is offlineaflorin
840 posts
1st


Re: grid cu inregistrari in 4 culori
 (N/A)
in loc de CelulaDinGrid ar trebui pus Tabela.Camp, unde Tabela este recordsource-ul gridului, iar Camp este coloana la care vrei sa te referi.
Florin Aparaschivei - Iasi
 9/23/2009 6:38:11 PM
User is offlinevmira27
13 posts


Re: grid cu inregistrari in 4 culori
 (N/A)
Nu vrea sa mearga!!!
Am un tabel de genul:

Activitate Data
Activitate1 28/10/2009
Activitate2 14/08/2009
Activitate3 // (gol)
...........................

Incerc sa folosesc codul de mai jos ca sa colorez randurile ale caror data este goala:

thisform.NumeGrid.SetAll("DynamicBackCollor","IIF(ISBLANK(tabel.data), RGB(255,0,0), RGB(255,255,255))","Column")

dar IIF-ul nu este evaluat corect (sau nu e evaluat de loc) si nu inteleg de ce (mereu culoarea este cea aferenta optiunii .F.).
Gresesc ceva?

Folosesc VFP9.

Multumesc de ajutor.
 9/23/2009 6:41:51 PM
User is offlinevmira27
13 posts


Re: grid cu inregistrari in 4 culori
 (N/A)
PS: In mesajul de mai sus am scris gresit DynamicBackCollor. Corect e cu un singur "L" DynamicBackColor
 9/23/2009 7:27:52 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: grid cu inregistrari in 4 culori
 (N/A) Modified By Grigore Dolghin  on 9/23/2009 7:28:08 PM)
Public oForm As Form
oForm = CreateObject("MyForm")
oForm.Show()

Define Class MyForm As Form
    Add Object MyGrid As Grid With ColumnCount=2

    Procedure Load
        Set Strictdate To 0
        Set Century On
        Set Date GERMAN

        Create Cursor tabela (Activitate C(15), Data Date)
        Insert Into tabela Values ("Activitate1", {28.10.2009})
        Insert Into tabela Values ("Activitate2", {14.08.2009})
        Insert Into tabela Values ("Activitate3", {//})
        Go Top In tabela

    Procedure Init
        This.MyGrid.Width = This.Width
        This.MyGrid.SetAll("DynamicBackColor", "IIF(ISBLANK(tabela.data), RGB(255,0,0), RGB(255,255,255))","Column")
    EndProc
EndDefine

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  grid cu inregis...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement