Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. file info. rss.
 From: Gerald Fay
  Where is Gerald Fay?
 Olympia
 Washington - United States
 Gerald Fay
 To: Stefan Wuebbe
  Where is Stefan Wuebbe?
 Hamburg
 Germany
 Stefan Wuebbe
 Tags
Subject: RE: Newbee and AddProperty form method
Thread ID: 288908 Message ID: 288939 # Views: 45 # Ratings: 0
Version: Visual FoxPro 9 SP2 Category: Forms
Date: Monday, December 27, 2010 7:08:38 AM         
   


Interestingly, the second method does not respond to key input to locate the combobox items! All of the others do.

Is it possible to add a new item with any of these methods and have the combobox text not disappear?
I have coded with an array as the rowset to add an item if the combobox.text is not found.
However when the valid method finishes the combobox text disappears, even when the text that was there was successfully added to the array and combobox list.

Here is the code for the valid method for the combobox:
ccity is the array of cities(1 dimensional) created using SQL Distinct.

LOCAL i,city
IF !EMPTY(THIS.Text)
i=ASCAN(THISFORM.CCITY,UPPER(THIS.text))
IF i=0
DIMENSION THISFORM.CCITY[THIS.ListCount+1,1]
=AINS(THISFORM.CCITY,THIS.LISTCOUNT)
thisform.ccity[this.listcount]=UPPER(this.text)
ASORT(thisform.ccity)
endif
ENDIF

Is this.text (combobox) disappearing because the combobox.controlsource is the customer database city field?
If I save this.text to a memvar and try to put it back into the blank combobox, I get a warning that the object, this.text is read only.

How would you handle adding a new city to the combobox?

You need to understand the nature of the customer base is local and there would be at most 100-200 cities. I think a separate database for cities would be overkill.



> Hi Gerald,
>
> > Stefan,
> >
> > I did find the addproperty button on the IDE menu form option.
> > Now I understand the Propterty Viewer "addpropery" is a method called when the form runs addproperty. This was very confusing, and you helped me to finally see it!
> >
> > The easiest solution is, as you said, to choose option 1 for the combobox rowset
> >
> > Now I need to move on to city. Since there are so many I will try running a Select Distinct SQL statement on the Customer Information database city field and store this to an array. I will use the array as the city combobox rowset. I will have to add a "Not Found" option and have the form open an entry field to enter a new city if that is selected.
> >
> > To populate the array do you place the code in the form init or do you use a combobox method?
> >
> > Thank you so much for your help!
> >
>
>
> You're welcome.
>
> > To populate the array do you place the code in the form init or do you use a combobox method?
>
> As a matter of taste, I'd put everything belonging to a certain object into methods of that very object/class, so that it would be kind-of encapsulated, and could even be reused as a separate class on several forms.
>
> However, if you want to use SQL, perhaps combo.RowSourceType=3 might be an option - you can put the SQL statement directly into the RowSource property in the Properties window if you like, so that perhaps an additional SQL Union can provide the desired "Not Found" row-source row.
> (Although I'd add that row only if the users should have that one as an interactive. Whereas if it's just for the display value, the VFP combo-box class would display an empty value for invalid control-source values automatically, even if there is no "empty" row in the row source.)
>
> So that your SQL, i.e. the combo.RowSource string might look like:
>
> SELECT Distinct city From yourTable UNION Select '(N/A)' FROM yourTable Into Cursor Sys(2015)
> 

>
> (I agree with Anders though, instead of the "Select Distinct city From customers", I would put the the cities (as well as the states) into separate, "normalized" tables, so that the customers table you mentioned would have a foreign-key column pointing to the primary key of the cities table.)
>
>
> For what it's worth, on the combobox.RowSourceType topic, see also the runnable demo.PRG showing a few different combo.RowSourceType approaches pasted below the signature.
> (It's using "Define Class" syntax so that it can get copied directly from the browser, although in a real project, I'd probably use the visual Class/Form designers.
>
>
>
> hth
> -Stefan
>

ENTIRE THREAD

Newbee and AddProperty form method Posted by Gerald Fay @ 12/25/2010 9:27:55 PM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/25/2010 11:15:20 PM
RE: Newbee and AddProperty form method Posted by Gerald Fay @ 12/26/2010 6:33:49 PM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/26/2010 9:02:07 PM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/27/2010 2:22:52 AM
RE: Newbee and AddProperty form method Posted by tushar @ 12/27/2010 5:11:48 AM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/27/2010 10:56:04 AM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/27/2010 11:57:12 AM
RE: Newbee and AddProperty form method Posted by Ony Too @ 12/27/2010 2:13:01 PM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/27/2010 2:56:32 PM
RE: Newbee and AddProperty form method Posted by Ony Too @ 12/28/2010 6:36:49 AM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/28/2010 8:03:04 AM
RE: Newbee and AddProperty form method Posted by Cetin Basoz @ 12/27/2010 10:59:11 AM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/27/2010 11:54:00 AM
RE: Newbee and AddProperty form method Posted by Cetin Basoz @ 12/27/2010 6:04:34 PM
RE: Newbee and AddProperty form method Posted by Gerald Fay @ 12/27/2010 7:08:38 AM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/27/2010 11:25:32 AM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/28/2010 3:40:59 AM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/28/2010 3:54:37 AM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/28/2010 7:33:01 AM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/28/2010 8:05:48 AM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/28/2010 10:28:42 AM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/29/2010 12:19:48 AM
RE: Newbee and AddProperty form method Posted by Cetin Basoz @ 12/29/2010 1:41:27 AM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/29/2010 2:11:57 AM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/29/2010 2:20:14 PM
RE: Newbee and AddProperty form method Posted by Cetin Basoz @ 12/29/2010 2:39:39 PM
RE: Newbee and AddProperty form method Posted by Samir H. @ 12/29/2010 3:08:48 PM
RE: Newbee and AddProperty form method Posted by Cetin Basoz @ 12/30/2010 9:32:09 AM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/29/2010 11:42:07 PM
RE: Newbee and AddProperty form method Posted by Gerald Fay @ 12/28/2010 8:25:03 AM
RE: Newbee and AddProperty form method Posted by Stefan Wuebbe @ 12/28/2010 10:31:14 AM
RE: Newbee and AddProperty form method Posted by Ony Too @ 12/26/2010 6:00:33 AM
RE: Newbee and AddProperty form method Posted by Gerald Fay @ 12/27/2010 2:01:43 AM
RE: Newbee and AddProperty form method Posted by Cetin Basoz @ 12/27/2010 10:51:52 AM
RE: Newbee and AddProperty form method Posted by Anders Altberg @ 12/26/2010 7:20:37 PM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/28/2010 3:44:21 AM
RE: Newbee and AddProperty form method Posted by Gerald Fay @ 12/28/2010 8:55:49 AM
RE: Newbee and AddProperty form method Posted by Anders Altberg @ 12/29/2010 5:23:29 PM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/29/2010 11:57:08 PM
RE: Newbee and AddProperty form method Posted by Anders Altberg @ 12/30/2010 10:12:32 AM
RE: Newbee and AddProperty form method Posted by Jun Tangunan @ 12/28/2010 6:31:22 AM
RE: Newbee and AddProperty form method Posted by Gerald Fay @ 12/28/2010 8:37:18 AM
RE: Newbee and AddProperty form method Posted by Ron Seidl @ 2/16/2014 4:54:41 PM