Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Adding a blank option to a combobox
Message
From
14/10/1998 10:10:15
 
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00146606
Message ID:
00146624
Views:
53
>>>Hi all,
>>>
>>>Frequently, my combo boxes are a list of codes that I use to set a filter. The codes are stored in a table along with their description. So for the recordsource, I use SQL:
>>>
>>>SELECT code, desc FROM codetable INTO CURSOR tmp ORDER BY code
>>>
>>>This works great if I want to force them to choose a code. But in some cases, I want them to be able to set the filter to everything. So, I want to put in the option to choose "". I don't, however, want to have "" as a code, since the codes are user-editable and they're likely to delete it. (Yeah, I know, I could get around that, but it makes things much more complicated)
>>>
>>>Is there an easy way to add the blank choice? I tried setting the SQL, then in the init doing THIS.AddItem(""), but I get an error. I think it was data type mismatch, but this was last night, so I don't remember for sure.
>>>
>>>I also tried, in the init, putting the SQL there, then doing AddItem to each record in tmp, and setting the rowsource to 0. I get the same error.
>>>
>>>Any ideas?
>>>
>>>-Michelle
>>
>>Hi, Michelle
>>
>>We have in our apps the possibility to blank the containts of a combo, something like:
>>*combo's KeyPress
>>LPARAMETERS nKeyCode, nShiftAltCtrl
>>IF nKeyCode = -1 && in our case F2
>>   This.Value = 0
>> -- OR --
>>   This.Value = ''
>>ENDIF
>>With this in combo's class' KeyPress I get what I want, + I don't actually need an extra item in combos. Hope you find it helpful.
>
>That's an interesting idea, but for my users it would be better if it was actually a choice in the combobox. I want the code part to be "" and the desc part to be "All codes". To just blank the combobox, I think, but am not sure, that they would just have to delete what's there.
>
>Thanks,
>
>-Michelle

OK, how about
SELECT code, desc FROM codetable INTO CURSOR tmp ORDER BY code;
UNION;
SELECT PADR('', 4) AS code, PADR("All Codes", 20) FROM codetable INTO CURSOR curYourSource ORDER BY code
Note: PADR()s are just to adjust widths to the codetable
Danijel
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform