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...
 GRID
 
 8/19/2006 4:30:01 PM
User is offlinedaflexx2003
90 posts


GRID
 (N/A)
Buna ziua am o problema mare cu care ma chinui ca sunt incepator.
AM un FORM in care vreau sa bag 34 de GRID-uri .
In fiecare GRID vreau sa afisez anumite date dintr-un singur TABEL in functie de ID_ETAPA.
am atasat tabelul meu.

exemplu la ce vreau sa fac :

meciuri1.dbf
____________________________________
id_etapa | gazd | gol_g | gol_o | oasp |
--------------------------------------------------
1..........|rapid....|...........|.........|steaua |
--------------------------------------------------
1..........|dinamo |...........|..........|craiova|
--------------------------------------------------
1..........|UTA... |...........|.........|.poli.....|
--------------------------------------------------
2..........|steaua |............|..........|dinamo|
--------------------------------------------------
2 etc etc etc etc etc etc

vreau sa afisez in primul GRID decat meciurile care au ID_ETAPA=1.
Va multumesc anticipat
 8/20/2006 8:41:42 PM
User is offlineAlin Berce
371 posts
3rd




Re: GRID
 (N/A) Modified By Alin Berce  on 8/20/2006 8:44:50 PM)
Pai eu cred ca ar trebui sa faci in felul urmator: la grid la properties te duci la data si pui la RecordSourceType=4-SQL Statement, iar la Recordsource pui 'Select * from meciuri1 where id_etapa=1
Pt urmatorul grid ai select *... where id_etapa=2 si tot asa...

VFP, C#, SQL Server 2005/2008
"Proud to be a ProFox member".
 8/21/2006 9:26:46 AM
User is offlinedaflexx2003
90 posts


Re: Re: GRID
 (Romania)
merge cu o exceptie , eu vreau sa imi ramana afisate toate gridurile odata iar cum mi-ai spus tu ramane afisat decat ultimul iar restul sunt albe.Ce mai trebuie sa fac ?
 8/21/2006 10:24:05 AM
User is offlinecostin_mentor
492 posts
www.accessoft.ro
2nd




Re: Re: GRID
 (N/A)
Creeaza cate un cursor pentru fiecare grid ca sa nu mai ai problema asta.
Recordsourcetype=1 (alias) , iar selectul de mai inainte il pui in init-ul formei sau al gridului cu terminatia "into cursor numecursor"
 8/21/2006 2:01:19 PM
User is offlineVladPop
250 posts
4th




Re: GRID
 (N/A)
Nu cred ca 34 de griduri sunt solutia la ce doresti tu. Nici nu stiu cum ar incapea 34 de griduri intr-o pagina :)

Mai bine faci un singur grid si deasupra lui(sau unde vrei tu) pui un combo si un buton. In combo vei avea o lista cu etape(etapa 1, 2, 3 samd) si la buton bagi codul de select care sa iti aduca in cursor doar informatiile din etapa aleasa in combo.

Ce zici ? :)

Vlad Pop.
 8/22/2006 9:31:09 AM
User is offlineAlin Berce
371 posts
3rd




Re: GRID
 (Romania)
Cum as face eu acest lucru:
pai cum a zis si Vlad, un grid in care sa se afiseze datele, un combobox sau un listbox care sa aiba etapa1, etapa2,.... un view parametrizat cu parametru la id_etapa.

Deci, se da un view de genul: select 'campurile mele' from meciuri1 where id_etapa=?lnid

Cand se selecteaza din combo sau din listbox (daca e un numar fix de etape, eu as recomanda un listbox in partea stanga a gridului) fac asa:
- la valid la combobox/listbox:
lnId=this.value
requery('view-ul meu')
thisform.refresh.

Si gata, ar trebui sa am in grid, meciurile din etapa selectata...

VFP, C#, SQL Server 2005/2008
"Proud to be a ProFox member".
 8/22/2006 9:31:25 AM
User is offlinedaflexx2003
90 posts


Re: GRID
 (Romania)
de incaput incape( TUR=17 grid-uri ) pe o pagina si RETUR pe alta si am reusit sa fac exact ce vroiam .Insa nu sunt editabile adica daca scriu ceva in aplicatie in unul din grid-uri nu se salveaza in tabela mea dbf.am incercat si cu READWRITE la sfarsitul SELECTULUI.

Oricum am luat in calcul si ideea cu COMBOBox.

Are insa cineva vreo idee de ce nu este insa editabil ?Grid-ul erespectiv ?
 8/22/2006 9:35:53 AM
User is offlineAlin Berce
371 posts
3rd




Re: GRID
 (Romania)
Pai daca ai folosi un view parametrizat pe care l-ai face updatable s-ar rezolva problemele tale...
VFP, C#, SQL Server 2005/2008
"Proud to be a ProFox member".
 8/22/2006 9:54:39 AM
User is offlinedaflexx2003
90 posts


Re: GRID
 (Romania)
Ok am inteles , insa sunt prea Nou in ale Fox-ului abia am facut un biet program O agenda telefonika .Chiar nu stiu la ce te referi cand zici view parametrizat .Si chiar vreau sa invat pt ca m-am apucat de FOX pt un JOB mai bun.So wiew PARAMETRIZAT daca nu stresez prea mult ?
 8/22/2006 10:01:24 AM
User is offlinedaflexx2003
90 posts


Re: GRID
 (Romania)
A, si mai am o problema am facut un BUTON in care am scris codul

CLOSE DATA ALL
Thisform.Release

asta inseamna ca atunci cand este apasat ar trebui sa paraseasca programul eeee nu vrea nici de al naibii a trebuit sa scriu decat

QUIT si cand fac teste imi iese de tot din FOX , si este normal sa iasa .Cum ar trebui scris un cod pt parasirea unei aplicatii ?
Deja m-am abatut de la subiect GRID.
 8/22/2006 10:05:09 AM
User is offlineanonymous
0 posts


Re: GRID
 (Romania)

Mai trebuie si un CLEAR EVENTS.

 8/22/2006 10:06:39 AM
User is offlineanonymous
0 posts


Re: GRID
 (Romania)

 daflexx2003 wrote
Ok am inteles , insa sunt prea Nou in ale Fox-ului abia am facut un biet program O agenda telefonika .Chiar nu stiu la ce te referi cand zici view parametrizat .Si chiar vreau sa invat pt ca m-am apucat de FOX pt un JOB mai bun.So wiew PARAMETRIZAT daca nu stresez prea mult ?

View parametrizat inseamna ca are o conditie de filtrare care se poate schimba si face din nou Requery() pe view pentru a aduce alt set de date:

daca filtrarea este Numar = 1 si faci requery() iti aduce un set de date iar daca faci Numar = 2 si requery() altul.

 8/22/2006 10:07:20 AM
User is offlineaflorin
840 posts
1st


Re: GRID
 (Romania)
daca inainte de apelarea formului ai pus READ EVENTS, in evenimentul Unload al formului trebuie sa pui CLEAR EVENTS

Florin Aparaschivei - Iasi
 8/22/2006 10:18:19 AM
User is offlinedaflexx2003
90 posts


Re: GRID
 (Romania)
asta inseamna ca trebuie sa folosesc

SET FILTER TO


sau


SELECT <<enumerare coloane>> FROM <<nume tabel>> WHERE <<conditie>> INTO CURSOR <<nume cursor>>
REQUERY( )
 8/22/2006 11:32:36 AM
User is offlineAlin Berce
371 posts
3rd




Re: GRID
 (Romania)
Uite, iti atasez un exemplu pe care l-am incropit in graba... imi cer scuze ca e nefisnisat, insa sper sa iti dai seama cam cum ar trebui facut.
Ar trebui sa te uiti in project manager la data\databases\data1\local views\vmeciuri1. Vmeciuri1 e un view local si daca dai click pe modify o sa vezi la filter: Meciuri1.id_Etapa=?lnID -> ca avem un view parametrizat. Adica ori de cate ori vei deschide acest view, el o sa verifice valoarea parametrului lnID si se va autopopula cu date in functie de acesta (Deci adio set filter to).
Ca un view sa fie updateble te duci la updatecriteria si selectezi campurile care vrei sa le updatezi... Simplu nu?

Buuuun, acum te poti duce la forms\meciuri si sa vezi ca idee cum ar putea arata formul tau :). In listbox la click sa te uiti sa vezi cum fac requery pe view
Ar mai fi de bibilit pe el insa din pacate timpul nu imi permite... serviciul...

Daca ai intrebari, iti raspund cu placere.

VFP, C#, SQL Server 2005/2008
"Proud to be a ProFox member".
 8/22/2006 12:25:27 PM
User is offlinedaflexx2003
90 posts


Re: GRID
 (Romania)
Da , multumesc din nou foarte mult , cred ca este cel mai tare forum posibil , oameni care te ajuta imediat.
Este un exemplu foarte bun mukltumesc inca odata , si evident ca o sa mai am intrebari sper ca odata sa pot raspunde si eu cuiva la nevoie.
 8/31/2006 7:39:30 PM
User is offlinedaflexx2003
90 posts


Re: GRID
 (N/A)
daca am stat si l-am bibilit un pik am observat ca dupa ce bagi niste scoruri si atunci cand apesi pe butonul SAVE scrie ceva de KEY is not UNIQUE cum pot face sa nu mai dea mesajul ala in exemplul tau ?
 9/2/2006 10:17:13 PM
User is offlineTibi
117 posts
5th


Re: GRID
 (Romania)

Hai ca ma bag si eu in seama.

Deci daca deschizi spre editare view-ul parametrizat, la tab-ul Update Criteria, Field name ai campurile care sunt marcate sa fie actualizabile. Eee tot acolo trebuie sa marchezi in coloana identificata cu "o cheie" care din campurile incluse in view (si care au corespondent in tabela de baza) sunt declarate campuri cheie folosite la "maparea" inregistrarilor. Pentru ca un view sa fie actualizatibil, trebuie sa contina cel putin un camp care sa intre in componenta indexului definit in tabela de baza.
Deci definesti mai intai in tabela de baza un INDEX PRIMAR (Primary key) care sa aiba o valoare UNICA pentru fiecare inregistrare. Dupa care in definitia view-ului marchezi acel camp (care formeaza indexul primar in tabela de baza), astfel ca acualizarile se propaga fara ambiguitati.
Nici nu cred ca actualizarile se propaga fara definirea acestui index primar. Este obligatoriu.

 9/2/2006 10:18:57 PM
User is offlineTibi
117 posts
5th


Re: GRID
 (Romania)

 daflexx2003 wrote
daca am stat si l-am bibilit un pik am observat ca dupa ce bagi niste scoruri si atunci cand apesi pe butonul SAVE scrie ceva de KEY is not UNIQUE cum pot face sa nu mai dea mesajul ala in exemplul tau ?

Faptul ca iti apare mesajul de eroare "Key is not unique" este datorita faptului ca tu trebuie sa ai un index primar definit. Un index primar, prin definitie, este o indexare pe baza unui camp ce are valoare UNICA pentru fiecare inregistrare din tabela de baza.

  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  GRID...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement