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  Form-uri si generatoare de form-uri  combo box...
 combo box
 
 3/17/2006 3:21:26 PM
User is offlinebisocp
141 posts
5th


combo box
 (Romania)

am un formular in care exista un combo box cu date dintr-un camp autoincrement

functioneaza cat de cat dar dupa ce selectez valoarea in lista nu ramane valoarea selectata si nici nu trece la urmatorul tab din formular

va multumesc

 3/17/2006 3:28:51 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)
 bisocp wrote

am un formular in care exista un combo box cu date dintr-un camp autoincrement

functioneaza cat de cat dar dupa ce selectez valoarea in lista nu ramane valoarea selectata si nici nu trece la urmatorul tab din formular

Mai trebuie niste date.
1. Clasa e combobox, sau subclasata?
2. RowSource
3. RowSourceType
4. BoundColumn
5. BoundTo
6. Style
7. ControlSource
8. Are cod in Valid, InteractiveChange, KeyPress?


Daniel Buduru
 3/17/2006 3:29:40 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)
cum sa sara la urmatorul tab am aflat cu return 1 in valid mai ramane cu valoarea in lista
 3/17/2006 3:51:20 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)

clasa cred ca e combobox

rowsource tabela in care am datele

rowsourcetype 2-alias

boundcolumn 1

boundto .f.

style 0 dropdown combo

nu am coduri decat in click "thisform.refresh

 3/17/2006 4:19:06 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Motivul pentru care valoarea dispare le iesirea din combo este acela ca valoare din control source nu se regaseste in rowsource.
Aste poate avea doa cauze:
1. ControlSource si RowSource nu sunt pe acelasi camp (asta ne spune boundcolumn).
2. E un DropDown Combo, in care s-a introdus o valoare noua

Daca style=0 DropDown Combo, inseamna ca se pot scrie valori in partea de textbox, care nu exista in rowsource.
Daca asta este situatia - s-a tastat o valoare, nu s-a selectat din lista, atunci aceasta valoare trebuie introdusa si in ce ai la rowsource. De obicei, asta se face in metoda valid, dupa ce s-a facut validarea valorii.
Poti folosi urmatorul cod (doar pentru rowsourcetype=6 si vfp>=7)
combobox.valid
..... cod pentru validarea valorii introduse
Local lcValue, lcAlias, lcField
lcValue=this.DysplayValue
lcAlias=getwordnum(this.rowsource,1,'.')
lcField=getwordnul(justext(this.rowsource),1,',')
Insert into (lcAlias) (lcField) Values (this.DiplayValue)
this.requery()
this.value=lcValue


Daca nu ai nevoie sa introduci valori noi, atunci pui style=2 - Dropdown List.

 


Daniel Buduru
 3/17/2006 4:19:13 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Motivul pentru care valoarea dispare le iesirea din combo este acela ca valoare din control source nu se regaseste in rowsource.
Aste poate avea doa cauze:
1. ControlSource si RowSource nu sunt pe acelasi camp (asta ne spune boundcolumn).
2. E un DropDown Combo, in care s-a introdus o valoare noua

Daca style=0 DropDown Combo, inseamna ca se pot scrie valori in partea de textbox, care nu exista in rowsource.
Daca asta este situatia - s-a tastat o valoare, nu s-a selectat din lista, atunci aceasta valoare trebuie introdusa si in ce ai la rowsource. De obicei, asta se face in metoda valid, dupa ce s-a facut validarea valorii.
Poti folosi urmatorul cod (doar pentru rowsourcetype=6 si vfp>=7)
combobox.valid
..... cod pentru validarea valorii introduse
Local lcValue, lcAlias, lcField
lcValue=this.DysplayValue
lcAlias=getwordnum(this.rowsource,1,'.')
lcField=getwordnul(justext(this.rowsource),1,',')
Insert into (lcAlias) (lcField) Values (this.DisplayValue)
this.requery()
this.value=lcValue


Daca nu ai nevoie sa introduci valori noi, atunci pui style=2 - Dropdown List.

 


Daniel Buduru
 3/17/2006 4:27:09 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)
in rowsource am tabela din care iau datele, iar in controlsource am campul din care iau datele deci nu pot fi acelesi
 3/17/2006 4:30:12 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)

campul din care iau valorile e readonly - autoincrement deci nu vreau sa adaug date in el

practic e vorba de un form de logare in care se alege din lista userid dupa care se introduce parola

dupa ce aleg userid din lista cursorul sare pt introducerea parolei dar lista ramane fara valoare

 3/17/2006 4:33:47 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

 bisocp wrote
in rowsource am tabela din care iau datele, iar in controlsource am campul din care iau datele deci nu pot fi acelesi

Nu e vorba de aceeasi tabela, ci de acelasi tip de date, respectiv camp cu acceasi lungime, daca e de tip caracter.
Pune mai intai style=2, daca nu introduci alte valori decat cele din lista.


Daniel Buduru
 3/17/2006 4:38:09 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania) Modified By bisocp  on 3/17/2006 5:40:00 PM)

am pus style=2 lista a devenit albastra in loc de alba dupa care imi spune ca, capul este read only

daca crezi ca e necesar pot trimite ecranul si tabela

 3/17/2006 4:40:20 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Campul din ControlSource este readonly.


Daniel Buduru
 3/17/2006 4:43:41 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Am recitit ce ai scris. La ControlSource ai un camp din tabela cu userid?
Ceva nu este bine.
Unde folosesti userid pe care il selectezi din lista? intr-un camp, sau intr- variabila?


Daniel Buduru
 3/17/2006 4:46:52 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Incearca sa pui asa:

RowSource='tabela_useri.userid'
RowSourceType=6
Style=2
Ce ai la controlsource? Nu trebuie sa fie un camp din tabela_useri.


Daniel Buduru
 3/17/2006 4:48:32 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)
Daca vrei, poti trimite formul si tabela.
Daniel Buduru
 3/17/2006 4:50:16 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)

am facut tabela cu userid integer(autoincrement) deci readonly, nume si password dupa care am facut formul in care am pus lista cu:

boundto=.t.

clickevent "thisform.refresh"

controlsource: userid

rowsource: tabela

rowsourcetype: 2-alias

style: 2 ( mai nou )

 3/17/2006 4:57:32 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)
 bisocp wrote

am facut tabela cu userid integer(autoincrement) deci readonly, nume si password dupa care am facut formul in care am pus lista cu:

boundto=.t.

clickevent "thisform.refresh"

controlsource: userid

rowsource: tabela

rowsourcetype: 2-alias

style: 2 ( mai nou )

ControlSource adreseaza un camp sau o variabila (proprietate) in care se SCRIE valoarea selectatea din rowsource, coloana boundcolumn.

Deci:

ControlSource=''
RowSource="tabela.userid"
RowSourceType=6 &&Fields
BoundColumn=1 &&Coloana 1 din rowsource
Style=2 &&Drop-down list

Incearca asa.
Va trebui sa preiei cumva valoarea combobox-ului, eventual cu combobox.value.
Sau poti pune o proprietate a formului:
thisform.addproperty('userid','')

combobox.controlSource="thisform.userid"


Daniel Buduru
 3/17/2006 5:01:17 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Probabil insa ca vei vrea ceva de genul asta:
thisform.addproperty("userid","")

with this.combo1
.ControlSource="thisform.userid"
.RowSource="tabela.username,userid"
.RowSourceType=6
.ColumnCount=2
.BoundColumn=2
.ColumnWidths="100,0"
endwith

Dupa selectie, thisform.userid va contine valoarea selectata din lista


Daniel Buduru
 3/17/2006 5:07:45 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)
nu din comoditate, ci pt ca nu se poate intelege situatia as prefera sa trimit atasat datele problemei
 3/17/2006 5:24:09 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

RowSource easte "De unde iau"
ControlSource este "Unde pun"
Reia explicatiile din help referitoare la combobox si intra si pe exemplele din solution sample.

Ti-am modificat combo astfel incat sa afiseze numele si sa preia medicid.


Daniel Buduru
 3/17/2006 5:32:24 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Scuze, am urcat tot fisierul tau.
Codul pentru afisare e din InteractiveChange, nu in Click


Daniel Buduru
 3/17/2006 5:36:19 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Tot n-a vrut. Mai incercam odata.

 


Daniel Buduru
 3/18/2006 10:14:47 AM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)
la rezolvarea ta apare eroarea : "Error loading file - record number 3. Form1 < or one of its members >.Caption : Property value is out of bounds"
 3/18/2006 3:38:56 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)
Am pus formul sub forma de program
Daniel Buduru
 3/21/2006 5:44:38 PM
User is offlinebisocp
141 posts
5th


Re: combo box
 (Romania)

rezolvarea ta functioneaza perfect, multumesc mult

am incercat si eu, dar tot nu a iesit

am modificat :

controlsource : am pus thisform.o_variabila

rowsource : tabela.camp1, camp2

rowsourcetype : 6

si tot nu merge

ce nu am pus sau ce am pus gresit

 3/21/2006 5:52:15 PM
User is offlineAlex Dobrin
766 posts
www.algis.ro
1st






Re: combo box
 (N/A)
Ce inseamna "nu a iesit" ?
Primesti o eraore? Nu face ce ti-ai dorit?

Alex Dobrin
Algis Info
 3/21/2006 6:04:22 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: combo box
 (N/A)

Mie nu mi-e foarte clar ce anume nu merge. Ce ai pus e corect, deci problema e in alta parte, adica alte proprietati si metode.
Scoate codul din valid (in caz ca este inca acolo).
Pune BundColumn=2  - BoundColumn spune a cata coloana a listei este legata de controlsource. In cazul de fata, am pus nume in prima coloana si idmedic in coloana 2. In controlSource vreau idmedic, deci BoundColumn=2
BoundTo=.F.  BoundTo spune daca la controlSource se leaga proprietatea List a listei sau proprietatea ListIndex. In cazul tau, avand campul numeric, merge cu BoundTo=.f.
Am mutat codul din metoda click in metoda InteractiveChange.

Mai departe nu stiu ce sa-ti spun. Da-mi detalii, ce anume nu merge. Uita-te in prg, vei vedea acolo ce proprietati am modificat si ce metode. 


Daniel Buduru
  Visual FoxPro  Form-uri si generatoare de form-uri  combo box...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement