Need a Drop Down Box

I ran into a Foxpo limitation that I cannot seen to get around.   I need a DROPDOWN list box, something like a combination of Listbox and Combobox, or way to set either up accordingly.

I need the box to display the currnetly selected item in the box, which, in turn, is column 1 of the array that is supply data.  The only items that can be selected are the ones in the list.  No data entry is allowed.  So, anyone got any ideas.
fmoore0001Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

tusharkanvindeCommented:
Check the property Style of the combobox. Change it to 2.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
fmoore0001Author Commented:
okay tusharkanvinde, that was it!!

One last question. Any way to get both columns to display in the box, even though I only want column to store data?
fmoore0001Author Commented:
Ah!  And another thing, if I enter values, I get two columns, but if I use an Array, I get only the second column.  More to these things than I thought.
Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

tusharkanvindeCommented:
There is a columncount property and a columnwidths property. ColumnWidths will have a comma separated list of widths of each column.
Olaf DoschkeSoftware DeveloperCommented:
In the closed state the combobox will only display the first column anyway. So you better have some expression concatenating what you want to display in the closed state for the first column, then set columnwidth to "0,....", so that this first summary column is not visible while the combobox is dropped down. And put an ID or key value you want to bind to in another column, perhaps the last one rather than the first one (which is reserverd for the summray of course), so you also end the columnwidth with 0 to not display that internal only key value.

simple example:

personID, lastname, firstname

populate the array with rtrim(lastname)+', '#rtrim(firstname),lastname,firstname,personID for each row
with columnwidth set to"0,100,100,0"

Bye, Olaf.
fmoore0001Author Commented:
Guys, thanks for the input.

Tusharkanvinde, you got me on the right track.  Alot more to combo boxes then I expected!

Olaf,, I could not get the display to ever work showing the column the way I would like.  The problem is that I am dealing with Fannie Mae codes for submission files, government which themselves may only two or three characters for a complicated description.  I was able to show the first descriptions with a combination of VALUE and ARRAY selections, but since column is the only one that matters for data submission the second column just seems to be beyond my reach.  Too bad.  An improvement will not happen for Foxpro.
fmoore0001Author Commented:
You know, I wonder if some makes a replacement for the Foxpro combo box as an Active X contol?
Olaf DoschkeSoftware DeveloperCommented:
The combobox cannot show two columns when closed, but you can combine strings from as many columns you want into the first column. To illustrate this, perhaps some sample code is better than just describing...

By,e Olaf.
Create Cursor curPersons (ID I, Firstname C(50), Lastname C(50))
Insert Into curPersons Values (1,"F","Moore")
Insert Into curPersons Values (2,"Tushar","Kanvinde")
Insert Into curPersons Values (3,"Olaf","Doschke")


With _Screen
   .AddObject("Combo1","Combobox")
   With .Combo1
      .Addproperty("aCombo[1]")
            
      Select Padr(Rtrim(Lastname)+", "+Rtrim(Firstname),100), Lastname, Firstname, ID from curPersons into Array .aCombo

      .Style = 2 
      .Width = 200
      .ColumnCount = 4
      .ColumnWidths = "0,88,88,0"
      .RowsourceType = 5
      .Rowsource = "This.aCombo"
      .Visible = .T.
   EndWith
EndWith    

Open in new window

fmoore0001Author Commented:
Thanks, guys
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
FoxPro

From novice to tech pro — start learning today.