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  valid in Text1 ...
 valid in Text1 pe Grid
 
 1/25/2009 11:50:41 AM
User is offlineandrei_veklinec
17 posts


valid in Text1 pe Grid
 (N/A)
Salut ! In VFP 9 am un Grid cu Column.Controlsource pe un cimp din cursor. Editarea o fac direct in Grid. Cum fac o validare pe Grid.Column.Text1 ? Am incercat in Text1.Valid, atit cu referire la Text1.Value, cit si cu referire la Cimpul din cursor, dar nu se executa Valid. Am pus codul in Valid-ul Grid-ului, acolo il executa, dar eu doresc sa faca Valid in Grid.Column.Text1. Unde am gresit ? Multumesc anticipat.
 1/25/2009 6:07:35 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: valid in Text1 pe Grid
 (Romania) Modified By Daniel Buduru  on 1/25/2009 7:07:59 PM)
 andrei_veklinec wrote
Salut ! In VFP 9 am un Grid cu Column.Controlsource pe un cimp din cursor. Editarea o fac direct in Grid. Cum fac o validare pe Grid.Column.Text1 ? Am incercat in Text1.Valid, atit cu referire la Text1.Value, cit si cu referire la Cimpul din cursor, dar nu se executa Valid. Am pus codul in Valid-ul Grid-ului, acolo il executa, dar eu doresc sa faca Valid in Grid.Column.Text1. Unde am gresit ? Multumesc anticipat.

Referirea se face cu this.value sau cu alias.camp
Validul gridului se executa la iesirea din grid.
Pune
WAIT WINDOW 'valid'
in grid.columnx.text1.valid si vezi daca se executa sau nu. Nu are motive sa nu se execute, daca se indeplinesc conditiile in care se declanseaza evenimentul valid. Cel mai probabil e ceva in codul din valid, care nu face ceea te astepti sa faca.

Daniel Buduru
 1/25/2009 8:48:23 PM
User is offlineandrei_veklinec
17 posts


Re: valid in Text1 pe Grid
 (N/A)
Am incercat de toate. Am pus un mesaj si in Grid.columnx.text1.gotfocus dar nici pe acesta nu-l executa, in general nu executa nici un eveniment din Text1. Am verificat Column, bound=.t., currentcontrol="text1", sparse=.f., toate proprietatile cred ca sint setate corespunzator. Codul din Valid este bun, am pus ca la introducerea unei valori negative sa afiseze un mesaj si sa intoarca RETURN .F. dar ma lasa sa ies din celula fara nici un avertisment si bineinteles, accepta si valori negative. Am incercat ambele variante, text1.value<0, respectiv cursor.cimp<0. Tot degeaba. Cred ca se pierde ceva, dar nu stiu ce. Nu este prima data cind mi se intimpla, atunci am rezolvat in codul butonului Salvare, dar acum vreau sa-i dau de capat.
 1/25/2009 11:26:49 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: valid in Text1 pe Grid
 (Romania)
 andrei_veklinec wrote
Am incercat de toate. Am pus un mesaj si in Grid.columnx.text1.gotfocus dar nici pe acesta nu-l executa, in general nu executa nici un eveniment din Text1. Am verificat Column, bound=.t., currentcontrol="text1", sparse=.f., toate proprietatile cred ca sint setate corespunzator. Codul din Valid este bun, am pus ca la introducerea unei valori negative sa afiseze un mesaj si sa intoarca RETURN .F. dar ma lasa sa ies din celula fara nici un avertisment si bineinteles, accepta si valori negative. Am incercat ambele variante, text1.value<0, respectiv cursor.cimp<0. Tot degeaba. Cred ca se pierde ceva, dar nu stiu ce. Nu este prima data cind mi se intimpla, atunci am rezolvat in codul butonului Salvare, dar acum vreau sa-i dau de capat.

Dupa simptome, s-ar zice ca gridul se reseteaza iar controlul in care ai cod in metode se pierde si se inlocuieste cu un textbox nou.
Daca este asa, poti rezolva problema la nivelul instantierii gridului - cursorul care este recordsource pentru grid trebuie sa fie deschis atunci cand se instantiaza gridul, deci fie il deschizi in dataenvironment sau in form load, fie in form.init, dar punand la form bindcontrols=.f. in designer, si this.bindcontrols=.t. la sfarsitul codului din form.init .
Sau lasi gridul asa cum este si faci un bindevent pe text valid, pe o metoda a formului, in care pui codul de validare.


Daniel Buduru
 1/26/2009 11:32:12 AM
User is offlineandrei_veklinec
17 posts


Re: valid in Text1 pe Grid
 (N/A)
Am incercat si aceste variante, tot nu merge. Cursorul (de fapt 2 cursoare) se creaza in Form.Init, iar Grid-ul este pus in Form, fiind o instanta a unei clase grid facuta de mine care se autoconfigureaza, adica are o metoda care primeste ca parametru doar numele cursorului, in aceasta metoda se face si Recordsource, aici isi stabileste header-ele de coloane chiar din numele cimpurilor, iar numarul de coloane este numarul de coloane din cursor. In functie de anumite optiuni, se trece pe celalalt cursor definit tot in Form.Init si se alege coloana din Controlsource. Deci, noul cursor + Controlsource se alege in functie de alegerea unor optiuni din alte obiecte din Form. Cam asta e toata filozofia. Mai studiez, chestia asta nu-mi da pace. Cu stima, Andrei.
 1/26/2009 11:54:31 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: valid in Text1 pe Grid
 (Romania)
 andrei_veklinec wrote
Am incercat si aceste variante, tot nu merge. Cursorul (de fapt 2 cursoare) se creaza in Form.Init, iar Grid-ul este pus in Form, fiind o instanta a unei clase grid facuta de mine care se autoconfigureaza, adica are o metoda care primeste ca parametru doar numele cursorului, in aceasta metoda se face si Recordsource, aici isi stabileste header-ele de coloane chiar din numele cimpurilor, iar numarul de coloane este numarul de coloane din cursor. In functie de anumite optiuni, se trece pe celalalt cursor definit tot in Form.Init si se alege coloana din Controlsource. Deci, noul cursor + Controlsource se alege in functie de alegerea unor optiuni din alte obiecte din Form. Cam asta e toata filozofia. Mai studiez, chestia asta nu-mi da pace. Cu stima, Andrei.

Daca gridul se autoconfigureaza, stabilind numarul de coloane, este exact situatia pe care am presupus-o-o: textboxul care se instantiaza in coloana respectiva este unul nou, din clasa de baza, fara cod in metode.
Ce poti face in acest caz:
- sa pui codul din valid intr-o metoda a gridului sau a formului si sa il executi cu bindevent
sau
 - sa creezi o clasa textbox cu codul necesar in metode si sa inlocuiesti textboxul din coloana in cauza cu cel creat de tine, dupa instantierea coloanei
sau
- sa lucrezi cu Grid.BeforeRowColChange si sa executi aici codul necesar pentru coloana in cauza.

Daniel Buduru
 1/26/2009 3:37:16 PM
User is offlineandrei_veklinec
17 posts


Re: valid in Text1 pe Grid
 (N/A)
Multumesc Daniel, a mers numai in varianta in care am creat o noua clasa textbox si am inlocuit-o in Grid. O zi buna. Cu stima, Andrei
  Visual FoxPro  Clase - VCX si PRG  valid in Text1 ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement