Search  
Saturday, February 11, 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  Rapoarte si generatoare de rapoarte  O banala probel...
 O banala probelma de listare raport
 
 11/27/2008 8:15:41 PM
User is offlineEugen Gliga
1038 posts
1st




O banala probelma de listare raport
 (N/A)
Probabil e o problema banala dar nu-i dau de cap. Am creat un raport simplu cu ajutorul wizard-ului. Dupa ce l-am testat l-am introdus intr-un form de unde il lansez cu comanda   "Report Form NumeRaport  To Printer Prompt NoConsole". Problema este ca listarea incepe de la pozitia curenta din gridul de pe form. Ca sa pot lista tot raportul trebuie sa ma pozitionez in grid pe prima pozitie. Si asta se intampla chiar daca inainte de Report Form dau un Go top. Pare o gluma, dar nu-mi dau seama de unde stie el pe ce pozitie am fost inainte de  Go Top. In mod implicit domeniul raportului este All, dar chiar si daca specific All in Report Form, nu se schimba nimic.



 11/27/2008 8:40:03 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: O banala probelma de listare raport
 (N/A)
Gridul pozitioneaza pointerul in recordsource pe inregistrarea corespunzatoare liniei curente din grid.
In report.datasession.init ar trebui selectat cursorul reportului si go top.
Daca gridul primeste focusul inainte ca raportul sa se termine, se selecteaza automat zona in care este deschis grid.recordsource si inregistrarea curenta din grid.
N-am incercat cu Grid.Visible=.f. pana se termina raportul, pentru a evita ca gridul sa primeasca focusul, dar ar putea sa functioneze.

Solutia sigura pentru report este private datasession si deschiderea tabelelor sau cursoarelor in sesiunea proprie, fie din dataenvironment, fie din report.dataenvironment.init (reportul are oricum dataenvironment, si singurele metode ale reportului sunt cele ale dataenvironment). Filtrul, si chiar numele tabelelor care trebuie deschise, pot fi transmise prin variabile private ale metodei care lanseaza reportul.

Daniel Buduru
 11/28/2008 1:24:03 AM
User is offlineEugen Gliga
1038 posts
1st




Re: O banala probelma de listare raport
 (N/A)
A mers cu Grid.Visible=.f. inainte de Report Form si Grid.Visible=.t. imediat dupa. Nu-i cea mai eleganta solutie, dar a fost cea mai simpla. Pe o perioada scurta cat tine raportul gridul dispare si nu prea da bine. O sa incerc si cu sesiune privata, dar am evitat acest lucru tocmai pt ca ar trebui sa trimit parametri cu filtrele si cu cheile de sortare.


 11/28/2008 10:13:26 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: O banala probelma de listare raport
 (N/A)
Thisform.LockScreen=.T. inainte de Grid.Visible=.F. si Thisform.LockScreen=.F. dupa grid.Visible=.t. va mentine gridul in imagine.

Daniel Buduru
 11/28/2008 10:18:27 AM
User is offlineanonymous
0 posts


Re: O banala probelma de listare raport
 (United Kingdom)
Sincer eu nu am mai auzit de asa o problema, dar o alta solutie ar fie inainte sa executi raportul sa faci un SELECT * FROM CursorulInitial INTO CURSOR xCursor si sa pui acest xCursor inspatele gridului. Selectul ar trebui sa fie foarte rapid pentru ca face doar un alias la primul cursor.
 11/28/2008 10:26:32 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: O banala probelma de listare raport
 (N/A)
Cand gridul primeste focusul, selecteaza zona in care este deschis cursorul din recordsource, oricare ar fi el, asa ca problema se va mentine. Este si reproductibila, dar nu prea am timp acum sa fac un repro, poate in cateva zile.
Singura solutie este aceea de a impiedica gridul sa primeasca focusul, solutie care poate fi implementata in mai multe moduri, dar cea cu visible=.f. e cea mai rapida si sigura.

Daniel Buduru
  Visual FoxPro  Rapoarte si generatoare de rapoarte  O banala probel...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement